import os
ot = os.popen("%s") %"ls"
TypeError: unsupported operand type(s) for %: 'file' and 'str'
我无法弄清楚为什么会发生错误。我的意思是这是纯粹的字符串操作,对吧? 任何帮助将不胜感激。
Python 之所以很棒,是因为交互式 shell。
尝试:
>>> import os
>>> os.popen("%s")
<open file '%s', mode 'r' at 0x10d020390>
您可以看到您面前的错误。os.popen
的结果是一个文件。然后,您将对其应用字符串操作。
将你所拥有的转化为我认为你想做的事情,请尝试:
>>> os.popen("%s" % "ls").read()
或者,直接:
>>> os.popen("ls").read()
但子流程模块通常是首选:
>>> import subprocess
>>> subprocess.check_output("ls")