如何在与子进程相同的目录中使用python调用脚本?
我试图在Windows 10中使用python 3(我是管理员)和pycharm从同一目录打开包含子进程的脚本,但是我尝试的任何替代解决方案都会出现以下错误: 这是我的密码:如何在与子进程相同的目录中使用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
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环境变量