我正在編寫一個腳本來清理我的桌面,根據文件類型移動文件。第一步,似乎是ls -1 /Users/user/Desktop
(我在Mac OSX上)。因此,使用Python,我將如何運行命令,然後將輸出寫入特定目錄中的文件?由於這將是無證的,我將是唯一的用戶,如果它使用os.system()
,我不介意(更喜歡?)。寫命令行輸出到文件
5
A
回答
13
您可以使用命令中的>
將標準輸出重定向到任何文件。
$ ls /Users/user/Desktop > out.txt
使用Python,
os.system('ls /Users/user/Desktop > out.txt')
但是,如果你正在使用python然後而是採用ls
命令,你可以用os.listdir
列出目錄中的所有文件。
path = '/Users/user/Desktop'
files = os.listdir(path)
print files
4
略讀Python文檔運行外殼命令,並且獲得可以使用subprocess模塊與check_output
方法在該輸出之後。
之後,您可以簡單地將該輸出寫入具有標準Python IO函數的文件:File IO in python。
1
要打開文件,可以使用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。
相關問題
- 1. 寫命令行輸出到文本文件
- 2. 輸出到文件和命令行
- 3. 使用命令行輸出到文件
- 4. Rails輸出到命令行並重寫?
- 5. 寫作命令行輸出到文件在Java
- 6. ffmpeg命令行將輸出寫入文本文件
- 7. windbg:命令輸出到文本文件
- 8. PHP輸出到命令行
- 9. git的命令輸出到文件
- 10. ssh tunneled命令輸出到文件
- 11. 將命令行的輸出寫入vim的文件
- 12. 在VBScript中獲取命令行輸出(不寫入文件)
- 13. 如何將腳本輸出寫入文件和命令行?
- 14. 如何將命令行輸入文件中的行打印到命令行輸出文件中?
- 15. 輸出到命令行並寫入到python腳本中的文件
- 16. 如何編寫exec命令(在PHP中)輸出到文件?
- 17. 未能編寫shell命令的輸出到文件中去
- 18. 如何寫「命令-i間隔|尾」輸出到文件
- 19. 將文件的輸出重定向到寫入命令
- 20. 從命令行可執行文件輸入/輸出重定向到文件
- 21. 打印到命令行中給出的輸出文件
- 22. 如何從命令行輸出PID到文本文件中(Windows)
- 23. VBScript記錄命令行輸出到文本(日誌)文件
- 24. 從命令行將輸出重定向到C文本文件
- 25. 將命令(即輸入不輸出)寫入文件
- 26. 擊:多次執行命令和輸出寫入標籤分隔到文件
- 27. 批處理文件:存儲命令的輸出行而不寫入文件?
- 28. Linux:將字段5的Sed命令輸出輸出到文件
- 29. Perl:如何將輸出的打開命令輸出到文件
- 30. 如何將curl post命令輸出寫入文本文件
你想移動哪些文件?使用Python查看http://docs.python.org/library/shutil.html文件操作。 – 2012-01-25 13:32:02
外殼腳本已足夠 –
如果您使用外殼腳本,請閱讀有關管道和重定向的更多信息。 –