0
我創造了這個小Python腳本Essai_Bash.py推出一個Python腳本做一些測試:使用ls命令,在每個子目錄
#!/usr/bin/python
import argparse
import os
parser = argparse.ArgumentParser()
parser.add_argument('-i', action='store', dest='InputDir', help='Working Directory') # Empty folders for outputs.
parser.add_argument('--version', action='version', version='%(prog)s 0.1')
results = parser.parse_args()
print 'Current input directory =', results.InputDir
dir_path=str(os.path.abspath(results.InputDir)) # Retrieving an output folder name to use as species ID:
path,CodeSp = os.path.split(dir_path)
print "Currently working on species: "+str(CodeSp)
回我的殼,我鍵入下面的命令,希望我的腳本在每個存在於我的「Essai_Bash」文件夾目錄下運行:
listdir='ls ../Main_folder/' # I first used backtips instead of simple quotes but it did not work.
for dir in $listdir; do ./Essai_Bash.py -i ../Main_folder/$dir; done
我肯定失去了一些東西很明顯,但它不工作。看起來像$ listdir被認爲是一個字符串而不是目錄列表。但是,只需在我的shell中輸入$listdir
實際上給了我這個列表!
您應該使用反引號 –
德米特里嗨,這是很奇怪的;我在一開始就這樣做了,它不起作用......我絕對應該錯過了一些東西:)非常感謝你! – Chrys
你應該*不*使用'ls'就這樣。 '在dir中../Main_folder/*;做./Essai_Bash.py -i「$ dir」; done'。 – chepner