是否可以在python中使用os.system()
发送相关命令列表?我的意思是,如果我想将当前目录更改为特定目录,然后有一个内容列表,我该怎么办? (我不想使用dir "path"
- 我想同时更改当前目录,并列出目录)
注意:这只是一个例子,我想知道如何发送多个命令! (连续的一些相关命令)
注意:Python 3.2
答案 0 :(得分:3)
os.system使用本地系统shell。你可以这样做,因为@Rwaing建议使用许多unixy shell而不是像windows这样的其他地方。更好的选择是subprocess.call和cwd(当前工作目录)param
import subprocess
subprocess.call('dir', shell=True, cwd='somepath')
正如其他人所提到的,如果您真正想做的就是获取文件列表,那么现存的python api就可以做得很好。
修改:发送多个命令
发送多个命令的一种方法是将它们泵入子shell的stdin。它的shell依赖,但这是一个Windows示例:
import os
import subprocess as subp
p=subp.Popen('cmd.exe', shell=True, stdin=subp.PIPE)
p.stdin.write("""dir
cd "\\program files"
dir
""")
p.stdin.write('exit' + os.linesep)
p.wait()
del p
print 'done'
答案 1 :(得分:2)
答案 2 :(得分:2)
看一下os.listdir(path): https://docs.python.org/3/library/os.html#os.listdir
示例:
import os
entries = os.list.dir('/home/foo')