如何相对于位置运行python脚本



我在另一个驱动器上有一个python脚本:

E:/myscripts/run.py

我从cmd运行这个,如下所示:

python

一旦我进入python解释器,我就这样做:

file = "E:/myscripts/run.py"
exec(open(file).read())

它抛出一个错误";没有这样的文件或目录:config.txt"。这是脚本在里面打开的文件:

open("config.txt")
os.getcwd()

返回C:/Users/me

所以它试图在那里找到配置文件。如何告诉python查找与执行脚本所在位置相关的文件?

我必须特别更改当前目录吗?因为如果我这样做:

os.chdir("E:/myscripts")

然后再次运行我的脚本,它起作用了。但我希望有一些论据来正确运行脚本。

run.py脚本中,您可以首先使用操作系统包来确定run.py脚本的当前路径,从而加载config.txt。要确定当前运行的脚本的完整路径,可以使用以下命令:

import os
path2runpy = os.path.dirname(__file__)

如果使用print命令打印变量path2runpy,则应显示以下路径:

E:/myscripts/

然后,您可以连接路径和文件名并加载文件:

open(os.path.join(path2runpy, "config.txt"))

os.getcwd()将只为您提供当前目录,您将从该目录调用脚本。

相关内容

  • 没有找到相关文章

最新更新