Python 将命令行输出写入文件

Python 将命令行输出写入文件,python,macos,file,unix,ls,Python,Macos,File,Unix,Ls,我正在写一个脚本来清理我的桌面,根据文件类型移动文件。第一步似乎是ls-1/Users/user/Desktop(我在MacOSX上)。那么,使用Python,我如何运行命令,然后将输出写入特定目录中的文件?由于这将是未记录的,并且我将是唯一的用户,我不介意(更喜欢?)如果它使用os.system()您可以使用命令中的将标准输出重定向到任何文件 $ ls /Users/user/Desktop > out.txt 使用python os.system('ls /Users/user/De

我正在写一个脚本来清理我的桌面,根据文件类型移动文件。第一步似乎是
ls-1/Users/user/Desktop
(我在MacOSX上)。那么,使用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命令并获得输出后,可以使用带有
check\u output
方法的模块


之后,您可以使用标准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上阅读更多信息。

您想移动哪些文件?请看一看使用Python的文件操作。Shell脚本就足够了。如果您使用Shell脚本,请阅读有关管道和重定向的更多信息。我不是说创建单独的.sh文件。将
用于
如果
文件
组合起来就足够了。如果您没有创建shell脚本,就不应该使用
ls
。事实上,即使您正在创建shell脚本,您也应该为此使用
find
。导入错误:没有名为system.@Suda.nese的模块。您如何尝试导入?你的Python版本是什么?