我有一个python脚本: 我的_脚本.py 我想从另一个脚本调用主.py在不同的目录中。你知道吗
我是这样做的:
/home/path/to/my/main/script/主.py
import subprocess
def call_script():
path_to_python = '/home/path/to/another/script/my_script.py'
subprocess.call(["python", path_to_python])
/home/path/to/other/script/my_脚本.py
do_some_work('log_files/logs.log')
我得到以下错误:
File "/usr/lib/python3.5/logging/__init__.py", line 1037, in _open
return open(self.baseFilename, self.mode, encoding=self.encoding)
FileNotFoundError: [Errno 2] No such file or directory: '/home/path/to/my/main/script/log_files/logs.log'
我看到被调用的脚本使用来自原始脚本位置的路径作为其基本路径。
我怎样才能得到我的_脚本.py使用自己的路径?
我不想打开一个新的外壳。你知道吗
使用
cwd
函数参数:有关docs的详细信息。你知道吗
在你的
my_script.py
里做一个os.chdir()
中的
CWD
(当前工作目录)继承自父进程。因此,由于您是从主脚本的位置运行脚本,因此子进程的CWD仍然设置为/path/to/main.py
如果您执行
os.chdir('/path/to/my_script.py')
,您的CWD
将更改为my_script.py
的目录。你知道吗或者,也可以在脚本中使用日志文件的绝对路径。你知道吗
相关问题 更多 >
编程相关推荐