2013-07-09 86 views
0

基本上,我試圖瀏覽目錄並調用特定程序(稱爲galfit)。我瀏覽目錄的原因是因爲我想通過galfit運行的所有文件都在該目錄中。但是,有幾十個文件,並且通過galfit單獨運行每個文件需要很長時間。最重要的是,他們需要一段時間來處理,所以整個過程非常緩慢。Ubuntu/Python-如何通過Python調用ubuntu命令和第三方應用程序

這裏是Ubuntu的終端代碼如下所示:

[email protected]:~$ cd Documents 
[email protected]:~/Documents$ cd XDF_Thumbnails_sci 
[email protected]:~/Documents$ ls 
documents-export-2013-07-08 XDF_Images_Sci XDF_Images_Wht XDF_Thumbnails_Sci 
[email protected]:~/Documents$ cd XDF_Thumbnails_Sci 
[email protected]:~/Documents/XDF_Thumbnails_Sci$ ~/galfit galfit.feedme 

galfit.feedme的是,我希望處理的feedme文件;然而,總共有大約五十個文件(當然有不同的名字!),我想處理。

所以我的問題是,你如何通過Python來解決這個問題?最終我會遍歷所有的文件(並且可能以某種方式自動命名它們,這很容易),但是到達目錄然後運行galfit的過程是什麼?

+1

查看'os'模塊。 –

+1

你可以通過'os.system'發送shell命令 –

回答

0

查看目錄導航的os.path。要執行shell命令,請使用os.system。你發佈的例子可能會沿着以下方向:

os.chdir(os.path.expanduser('~/Documents/XDF_Thumbnails_Sci')) 
for file in os.listdir('.'): 
    if os.path.splitext(file)[1] == ".feedme": 
     os.system("~/galfit %s" % file) 
+0

有趣,謝謝!出於好奇,「%s%file」做了什麼? – vdogsandman

+0

http://www.diveintopython.net/native_data_types/formatting_strings.html – mnagel

+0

此外,os.system()確實執行其他程序,但遲早會對subprocess.popen()感興趣:http://stackoverflow.com/questions/12605498/how-to-use-subprocess-popen-python – mnagel

相關問題