我有脚本调用其他脚本文件,但我需要获取当前在该进程中运行的文件的文件路径.
例如,假设我有三个文件.使用execfile:
script_1.py电话script_2.py.script_2.py打电话script_3.py.我怎样才能获得的文件名和路径script_3.py,从内部代码script_3.py,而无需从传递这些信息作为参数script_2.py?
(执行os.getcwd()返回原始起始脚本的文件路径而不是当前文件的.)
如何获取我正在运行的Python脚本的路径?我正在做dirname(sys.argv[0]),但是在Mac上我只获取文件名 - 而不是像我在Windows上那样的完整路径.
无论我的应用程序从何处启动,我都想打开与我的脚本文件相关的文件.
我的script.py在与脚本相同的目录中创建一个临时文件.
运行时:
python script.py
Run Code Online (Sandbox Code Playgroud)
它只是文件
但是当你运行时它不起作用:
python /path/to/script.py
Run Code Online (Sandbox Code Playgroud)
那是因为我在script.py中使用了临时文件的相对路径而不是绝对路径.问题是我不知道它将在哪条路上运行,所以我需要一种方法来知道这一点.
关于什么?
os.path.abspath(os.path.dirname(__file__))
Run Code Online (Sandbox Code Playgroud)