重複の可能性:
Pythonのバックティックに相当
Python内でターミナルコマンド(ls -l)を実行するための最良の方法を探しています。私はサブプロセスについて読んだことがありますが、それを完全には理解していません。誰かが私に何が起こっているのかを理解させてくれるなら、私は感謝するでしょう。ls -lコマンドを使用して、!= 1のハードリンク番号を取得し、この番号を保存して、他の場所の電話番号と照合する必要があります。今のところ、ハードリンク番号を取得し、サブプロセス(または存在する場合はより良い方法)を使用して変数に保存する方法を知りたいだけです。
これまでに使用したコードは次のとおりです:#!/ usr / bin / python
#tool that resolves time machine directories
import os
#create output file
os.chdir("/home/sean/Desktop")
hard_link_number = open('hardLinkNumber.log', 'w')
#move into mounted backup (figure out how to remove xe2 etc)
os.chdir("/mnt/Backups.backupdb/stuart dent\xe2\x80\x99s MacBook Pro/2010-08-10-160859/MAc")
#find hard link data
print>>hard_link_number, os.system("ls -la")
hard_link_number.close()
os.system( "ls -la")は必要な情報を出力しますが、作成したファイルには保存されません。os.systemがデータを出力しないことを他の場所で読みました。