2016-07-23 122 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