Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中的子进程don';不允许阅读_Python_Python 3.x_Debugging_Subprocess_Runtime Error - Fatal编程技术网

python中的子进程don';不允许阅读

python中的子进程don';不允许阅读,python,python-3.x,debugging,subprocess,runtime-error,Python,Python 3.x,Debugging,Subprocess,Runtime Error,我需要你帮忙调试一些东西 我使用python中的subprocess命令运行外部应用程序 subprocess.run([“程序”、“-o”、“-e”、“桌面”、新路径]) new_path是一个变量,我在其中存储应用程序的路径。所以看起来不错,但是当我用python3main.py启动应用程序时 File "C:\Python27\lib\site-packages\run\__init__.py", line 145, in __new__ process = cls.

我需要你帮忙调试一些东西 我使用python中的subprocess命令运行外部应用程序

subprocess.run([“程序”、“-o”、“-e”、“桌面”、新路径])

new_path是一个变量,我在其中存储应用程序的路径。所以看起来不错,但是当我用
python3main.py
启动应用程序时

 File "C:\Python27\lib\site-packages\run\__init__.py", line 145, in __new__
process = cls.create_process(command, stdin, cwd=cwd, env=env, shell=shell)

 File "C:\Python27\lib\site-packages\run\__init__.py", line 121, in create_process
shlex.split(command),

 File "C:\Python27\lib\shlex.py", line 279, in split
return list(lex)

 File "C:\Python27\lib\shlex.py", line 269, in next
token = self.get_token()

File "C:\Python27\lib\shlex.py", line 96, in get_token
raw = self.read_token()


File "C:\Python27\lib\shlex.py", line 124, in read_token
nextchar = self.instream.read(1)

AttributeError: 'list' object has no attribute 'read'

使用
shell=True运行子流程

subprocess.run(["Program", "-o", "-e", "Desktop",new_path], shell=True)

我得到了与shell=True相同的错误。可能是子进程库问题?能否附加如何创建
new_path
path=['C:/','Users',os.getenv('username'),'Desktop']
new_path=os.path.join(*path)
这是我的路径。你认为这是问题所在吗?事实上看起来还不错