2016-07-23 25 views
0

這可能是一個非常愚蠢的問題,但我是一個初學者程序員,我不能得到這個。print(sys.argv)不帶參數

基本上,我認爲即時通訊使用sys.argv錯誤,因爲它只是不需要參數盡我所知。我已經寫參數是sys.argv第一代碼如下所示:

import sys 
import pyperclip 

dict = {'email': 'foo', 
     'blog': 'monty', 
     'briefcase': 666, 
     'stack overflow': 'pulp'} 
if len(sys.argv) < 2: 
    print('no arguments') 
    sys.exit() 
account = sys.argv[1] 
if account in dict: 
    pyperclip.copy(dict[account]) 
else: 
    print('no value found under' + account) 

保存它的名字pw.py下,並試圖通過命令提示符下鍵入在

pw.py email 

,但使用它沒有重要的是我輸入它返回「無參數」。第二個程序,我試着去簡單,只是給它一個簡單的打印功能:

import sys 

print(sys.argv) 

這只是返回到程序的路徑。我究竟做錯了什麼?

我得到這是一個noob問題,這是一個可怕的方式來保存密碼,這是一個項目,我正在嘗試學習python自己。

+0

什麼環境中,你在運行的程序?從Linux下的'bash',或者...無論Windows使用什麼,或者其他什麼? – chepner

+0

使用Windows,對不起,我沒有指定。現在修復它。 –

回答

1

使用「蟒蛇pw.py電子郵件」爲第一個腳本 和第二個「蟒蛇pw.py any_args」

+0

這與將它作爲可執行文件運行有何不同? – SilentMonk

+0

@SilentMonk它的不同之處在於,當您將它作爲可執行文件運行時,您僅爲第一個腳本提供了一個參數。而對於第二個腳本,只有文件名。 –

+0

我不知道問題是什麼。但是它按預期工作,無論它是作爲可執行文件運行還是作爲python