如何在与子进程相同的目录中使用python调用脚本?

如何在与子进程相同的目录中使用python调用脚本?,python,subprocess,Python,Subprocess,我试图在Windows 10中使用python 3(我是管理员)和pycharm从同一目录打开包含子进程的脚本,但是我尝试的任何替代解决方案都会出现以下错误: 这是我的密码: import subprocess subprocess.call(['C:\\Users\\CobraCommander\\PycharmProjects\\BlackBox', 'Avalon.py']) # The above "BlackBox" it's the directory for both files

我试图在Windows 10中使用python 3(我是管理员)和pycharm从同一目录打开包含子进程的脚本,但是我尝试的任何替代解决方案都会出现以下错误:

这是我的密码:

import subprocess
subprocess.call(['C:\\Users\\CobraCommander\\PycharmProjects\\BlackBox', 'Avalon.py'])  # The above "BlackBox" it's the directory for both files.
由此,我得到以下错误:

PermissionError: [WinError 5] Access is denied
FileNotFoundError: [WinError 2] The system cannot find the file specified
OSError: [WinError 193] %1 is not a valid Win32 application
如果我尝试改为:

subprocess.call(['python Avalon.py'])
由此,我得到以下错误:

PermissionError: [WinError 5] Access is denied
FileNotFoundError: [WinError 2] The system cannot find the file specified
OSError: [WinError 193] %1 is not a valid Win32 application
所以我试着:

subprocess.call(['C:\\Users\\CobraCommander\\PycharmProjects\\BlackBox\\Avalon.py'])
由此,我得到以下错误:

PermissionError: [WinError 5] Access is denied
FileNotFoundError: [WinError 2] The system cannot find the file specified
OSError: [WinError 193] %1 is not a valid Win32 application
我还尝试从终端以管理员身份运行,但出现了相同的错误:

PermissionError: [WinError 5] Access is denied
在尝试标记为复制之前,请注意,我已经阅读了其他帖子中的错误以及子流程


有人能建议如何从另一个脚本中使用python编写此脚本吗?

您需要提供
cwd
参数来设置工作目录:

导入子流程
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
subprocess.run(r'touch d:\test.txt')
p=subprocess.run(r'ls-la test.txt',cwd=r'd:\\',stdout=subprocess.PIPE)
打印(p.stdout.decode())
输出:

-rw-r--r-- 1 abdusco 197609 0 Jul 18 13:32 test.txt

您需要提供
cwd
参数来设置工作目录:

导入子流程
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
subprocess.run(r'touch d:\test.txt')
p=subprocess.run(r'ls-la test.txt',cwd=r'd:\\',stdout=subprocess.PIPE)
打印(p.stdout.decode())
输出:

-rw-r--r-- 1 abdusco 197609 0 Jul 18 13:32 test.txt

在脚本之前添加
python
,以代替

subprocess.call(['C:\\Users\\CobraCommander\\PycharmProjects\\BlackBox\\Avalon.py'])

使用

subprocess.call(['python','C:\\Users\\CobraCommander\\PycharmProjects\\BlackBox\\Avalon.py'])


确保设置了PYTHONPATH环境变量。

在脚本之前添加
python
,以便

subprocess.call(['C:\\Users\\CobraCommander\\PycharmProjects\\BlackBox\\Avalon.py'])

使用

subprocess.call(['python','C:\\Users\\CobraCommander\\PycharmProjects\\BlackBox\\Avalon.py'])

确保设置了PYTHONPATH环境变量