【发布时间】:2017-06-17 19:05:27
【问题描述】:
我正在尝试做以下事情。 我有一个带有这个目录树的 python 项目:
Project dir
|
|___main.py
|___module
|
|__a.py
|__a.sh
a.py 有一个类,其中包含一个运行脚本的方法:
class A():
def run():
os.system('a.sh')
然后a.sh 创建一个文件:
touch a.txt
而main.py 实例化一个A 类的对象并调用run():
a = A()
a.run()
当调用main 时,我收到一条错误消息,指出script a.sh is not found。我明白为什么会发生这种情况,这是因为工作目录等于项目根路径,但我怎样才能让它工作,以便创建的文件最终位于根路径中?
我想打电话给main.py 并最终得到这个配置。
Project dir
|
|___a.txt
|___main.py
|___module
|
|__a.py
|__a.sh
我可以将a.py中对a.sh的调用替换为
os.system('module/a.sh')
它会起作用,但我觉得它不干净。
【问题讨论】:
-
看起来不干净是什么意思?这就是它所在的目录,所以这就是你告诉它查找的地方。
-
您可以使用 python 本身创建文本文件。
-
您可以随时更改
PATH环境变量,但我个人认为这样会不太干净。