我有以下问题: 这段代码运行一个Shell脚本,目前已经可以使用了。 脚本返回0。但是,我得到了这个错误: 所以我的try / except块一定有毛病。 ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
Windows 7 64位上的Python 3.7.1 64位
test.py
import subprocess
subprocess.run(['ping localhost'], shell=True)
产量
C:\>python test.py
Traceback (most recent call last):
File "test.py", line 2, in <module>
subprocess.run(['ping localhost'], shell=True, check=True)
File "C:\Program Files\Python37\lib\site-packages\run\__init__.py", line 145, in __new__
process = cls.create_process(command, stdin, cwd=cwd, env=env, shell=shell)
File "C:\Program Files\Python37\lib\site-packages\run\__init__.py", line 121, in create_process
shlex.split(command),
File "C:\Program Files\Python37\lib\shlex.py", line 305, in split
return list(lex)
File "C:\Program Files\Python37\lib\shlex.py", line 295, in __next__
token = self.get_token()
File "C:\Program Files\Python37\lib\shlex.py", line 105, in get_token
raw = self.read_token()
File "C:\Program Files\Python37\lib\shlex.py", line 136, in read_token
nextchar = self.instream.read(1)
AttributeError: 'list' object has no attribute 'read'
为什么会出现此错误,该如何解决?
这不是特定于ping命令,而是任何琐碎的命令,例如“ dir”
经过反复的尝试和拔头发后,我开始工作了。
应该改为
subprocess.run('ping localhost', shell=True) #Remove the square brackets
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.