python中的子进程don';不允许阅读
我需要你帮忙调试一些东西 我使用python中的subprocess命令运行外部应用程序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.
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)
这是我的路径。你认为这是问题所在吗?事实上看起来还不错