2011-02-02 196 views
8

我已經下載了一個python文件xxxxxx.py,應該在命令行運行 ,輸入:python xxxxxx.py filename1 filename2 並且應該將這兩個文件作爲參數。使用IDLE將命令行參數傳遞給Python程序?

我想知道是否有一種方法可以使用IDLE傳遞這些參數。除了設置sys.argv之外,還有其他方法嗎?

謝謝

+5

我不明白爲什麼人們堅持認爲IDLE是一些有用的東西。 –

+0

請你可以給我一個你認爲對windows有用的IDE的建議。我將不勝感激 –

+0

您不會在運行時在IDLE中傳遞參數。只需在命令行鍵入命令很容易。什麼阻止你在命令行綁定'python xxxxxx.py filename1 filename2'?或者在命令行中複製並粘貼它?或者使用向上箭頭在命令行再次輸入它? –

回答

4

你可以在命令行中使用做到這一點:

idle.py -r scriptname.py把這裏的論點

你可以嘗試不同的IDE像ActivePython的

或者你也可以修補IDLE :

http://bugs.python.org/issue5680

+0

。我現在的路徑是C:\ Python26 ... etc \ idlelib,所以我可以運行空閒。但劇本是在別的地方,所以它找不到它,我該怎麼辦? –

+0

不要介意!我只是將C:\ Python26 \ Lib \ idlelib添加到高級系統設置中的路徑 –

+1

只需在您的代碼中修改sys.argv即可。例如'sys.argv = ['scriptname.py','arg1','arg2','arg3']' – SomeGuyOnAComputer

6

這取決於你的Python文件的內容。如果它是經過精心編寫,如:

#! /usr/bin/env python 

def process(files): 
    for file in files: 
     # ... 

if __name__ == '__main__' 
    # some error checking on sys.argv 
    process(sys.argv[1:]) 
    sys.exit(0) 

然後,你可以簡單地導入蟒蛇文件並運行它想:

import name_of_file 

# ... 
     name_of_file.process([file1, file2, file3]) 
# ... 

所以,它實際上取決於它是怎麼寫的。如果寫得不好,但你可以編輯它,我會重構它,以便它可以用作庫;否則,我會使用子進程模塊來調用程序。

+1

我只想在運行python腳本時在運行時傳遞參數。有沒有辦法做到這一點?如果我在窗戶上,則爲 –

相關問題