2016-04-12 175 views
0

我們是很陌生的Python將參數傳遞給一個Python腳本,我試圖從運行bsPlugins以下Python腳本: https://github.com/bbcf/bsPlugins/blob/master/bsPlugins/FileConvert.py
我下載的Python 2.7,所需模塊(biopython,bioscripts,bbcflib,bsPlugins ),現在可以運行在bash中:從慶典

python FileConvert.py 

沒有任何錯誤消息。我現在正在努力向腳本傳遞參數。我在源代碼中看到了opt變量,但我對如何提供它們無能爲力,或者至少得到了有關預期語法的信息。

+2

'FileConvert.py'似乎沒有采取任何命令行參數,所以我不知道爲什麼你希望它是能夠做到這一點。你可能不得不自己重寫它,所以它實際上可以使用像'argparse'這樣的模塊來解析命令行參數。 –

+0

該腳本假設將給定的文件轉換爲指定的格式。請參閱此處:http://bbcf.epfl.ch/bsplugins/_modules/bsPlugins/FileConvert.html#FileConvertPlugin – Zoz

+0

您可以嘗試詢問該插件的提供者該如何工作。該文件似乎最差。 –

回答

0
$ python FileConvert.py arg1 arg2 arg3 

雖然,我不認爲這個文件也接受命令行參數。你可以把它改寫使用sys.argv

#!/usr/bin/python 
import sys 

print str(sys.argv) 
1

一個簡單的方法來接受命令行參數在Python是使用sys模塊如下接受的論點:

import sys 
print str(sys.argv) 

所以,當你在終端運行python FileConvert.py arg1 arg2 arg3,您將得到的輸出爲:

['FileConvert.py', 'arg1', 'arg2', 'arg3'] 

請務必記住argv是字符串列表和argv[0]持有的第一個參數是file name而不是arg1

希望這回答你的問題:)