Python的当前目录和代码所在目录

当Python程序在运行的时候,你有可能想知道,当我创建一个log文件”./my_log.txt”时,这个文件的绝对路径会在哪里?另一个问题是,你想知道运行的Python文件是什么,即当前执行的脚本路径。

Python的当前工作目录

“./”也就是我们的当前工作路径,有的情况下,你会使用相对路径而不是绝对路径,这个时候你需要清楚的知道你的当前目录是什么。

这里对于初学者来说容易出错:你将log文件写入”./log/my_log.txt”,并且测试的时候没有问题,但是你的程序在实际环境中运行的时候,却找不到log文件的路径了。

很有可能是你测试的工作目录和真实环境的工作目录不同,例如我在web server中,用一个PHP文件启动Python脚本,那么Python工作目录就为PHP文件所在目录,并非Python脚本所在目录。而你在测试的时候很有可能在Python脚本目录中直接运行了测试代码。

那么怎样查看Python的工作目录呢?

import os
cwd = os.getcwd()
Python脚本所在目录

Python脚本所在目录也就是当前运行脚本的路径了,可以使用如下方法获取:

import os 
dir_path = os.path.dirname(os.path.realpath(__file__))

by Code问答

发表评论

电子邮件地址不会被公开。 必填项已用*标注

46 − = 40