私はデスクトップをクリーンアップし、ファイルタイプに基づいてファイルを移動するスクリプトを作成しています。最初のステップは、それはls -1 /Users/user/Desktop
(私はMac OSX上にある)になりそうです。だから、Pythonを使用して、私はどのようにコマンドを実行し、特定のディレクトリにあるファイルに出力を書きますか?これは文書化されていないので、唯一のユーザーになるので、os.system()
を使用する場合は気にしない(好む?)ファイルにコマンドライン出力を書き込む
5
A
答えて
13
コマンドで>
を使用すると、標準出力を任意のファイルにリダイレクトできます。あなたがls
コマンドを使用するのではなく、その後のpythonを使用している場合のpythonを使用して
$ ls /Users/user/Desktop > out.txt
、
os.system('ls /Users/user/Desktop > out.txt')
ただし、ディレクトリ内のすべてのファイルを一覧表示するos.listdir
を使用することができます。シェルコマンドを実行し、check_output
方法でsubprocessモジュールを使用することができ、出力を得るために、Pythonドキュメントをスキミングした後
path = '/Users/user/Desktop'
files = os.listdir(path)
print files
4
。
その後、標準のPython IO関数(File IO in python)を使用して、その出力をファイルに簡単に書き込むことができます。
1
ファイルを開くには、f = open(/Path/To/File)
コマンドを使用できます。構文はf = open('/Path/To/File', 'type')
です。ここで、 'type'は読み込み用にw、書き込み用にw、追加用にaです。これを行うコマンドはf.read()
とf.write('content_to_write')
です。コマンドラインコマンドから出力を得るには、os.system()
の代わりにpopenとsubprocessを使用する必要があります。 os.system()は値を返しません。 popen hereで詳しく読むことができます。
関連する問題
- 1. MySQL出力をファイルに書き込む
- 2. コンソール出力をファイルに書き込む
- 3. SWI-Prolog:コマンドライン出力にソリューションを書き込む方法は?
- 4. 2番目のコマンドライン引数の出力のみをファイルに書き込む
- 5. 辞書出力をファイルに書き込む - Python
- 6. ファイルとジョブの出力ファイルにヘッダとフッタを書き込む
- 7. 出力テキストファイルにオブジェクトを書き込む
- 8. 出力に\ rを書き込む
- 9. EXE出力をバッチファイルに書き込む
- 10. 書き出しローカウントをフラット出力ファイルのトレーラーレコードに書き込む
- 11. コマンドライン入力をバッチでコマンドに書き込む方法は?
- 12. 反復的な出力をPythonのファイルに書き込む
- 13. 不可能 - 複数行の出力をファイルに書き込む
- 14. UDパイプタガーの出力をファイルに書き込む方法は?
- 15. Zf2のファイルにDom pdfの出力を書き込む
- 16. TXTファイルにSQL文の出力を書き込む方法
- 17. AUGraphの出力をファイルに書き込む方法は?
- 18. WPF出力を画像ファイルに書き込む
- 19. Verilog testbench予期しない出力をファイルに書き込む
- 20. python BeautifulSoup出力をhtmlファイルに書き込む方法
- 21. 複数のフルHTML 'ファイル'をシングル出力ストリームに書き込む?
- 22. すべてのJava出力をtxtファイルに書き込む
- 23. jsonファイルにxpath(出力)を書き込む方法
- 24. イメージをファイルに書き込む - 間違った出力
- 25. シェル出力をファイルに書き込む方法
- 26. ファイルにR出力を書き込む方法
- 27. C#のファイルにコンソールの出力を書き込む?
- 28. 出力をTalend ETL内の同じxmlファイルに書き込む
- 29. プログラムの出力をファイルに書き込む
- 30. F#でseqを出力ファイルに書き込む
どのファイルを移動しますか? Pythonを使用したファイル操作については、http://docs.python.org/library/shutil.htmlを参照してください。 –
シェルスクリプトで十分です –
シェルスクリプトを使用する場合は、パイプとリダイレクトについての詳細を参照してください。 –