我正在编写一个脚本来清理我的桌面,根据文件类型移动文件。首先,似乎需要运行ls -1 /Users/user/Desktop
命令(我在Mac OSX上)。那么,使用Python,我该如何运行一个命令,然后将输出写入特定目录中的文件?由于这将是未记录的,并且我将是唯一的用户,所以如果它使用os.system()
,我不介意(更喜欢?)。
你可以使用命令中的 >
将标准输出重定向到任何文件。
$ ls /Users/user/Desktop > out.txt
使用Python编程语言,
os.system('ls /Users/user/Desktop > out.txt')
但是,如果你正在使用Python,那么你可以使用os.listdir
来列出目录中的所有文件,而不是使用ls
命令。
path = '/Users/user/Desktop'
files = os.listdir(path)
print files
浏览完Python文档以运行shell命令并获取输出后,您可以使用subprocess模块和check_output
方法。
之后,您可以使用标准的Python IO函数将输出写入文件:Python中的文件IO。
f = open(/Path/To/File)
命令。语法是 f = open('/Path/To/File', 'type')
其中 'type' 是 r 表示读取,w 表示写入,a 表示追加。执行这些命令的方式是 f.read()
和 f.write('content_to_write')
。要从命令行命令获取输出,必须使用 popen 和 subprocess 而不是 os.system()
。os.system() 不返回值。你可以在这里阅读更多关于 popen 的内容 here。
for
пјҢif
е’Ңfile
зҡ„з»„еҗҲе°ұи¶іеӨҹдәҶгҖӮ - Shiplu Mokaddimls
命令。实际上,即使你正在创建一个shell脚本,你也应该使用find
命令来代替。 - sorpigal