[英]Automate the boring stuff with Python chapter 6 Password locker
#! python3
# pw.py - An insecure password locker program.
PASSWORDS = {'email': 'F7minlBDDuvMJuxESSKHFhTxFtjVB6',
'blog': 'VmALvQyKAxiVH5G8v01if1MLZF3sdt',
'luggage': '12345'}
import sys, pyperclip
if len(sys.argv) < 2:
print('Usage: py pw.py [account] - copy account password')
sys.exit()
account = sys.argv[1] # first command line arg is the account name
if account in PASSWORDS:
pyperclip.copy(PASSWORDS[account])
print('Password for ' + account + ' copied to clipboard.')
else:
print('There is no account named ' + account)
我真的不知道该怎么办。 在运行 win+r 并输入例如 pw email 后,我只得到'usage:py bla bla bla ..我在win+r中写的什么都没有
bat文件是这样的:
'''call C:\Users\Rostek\anaconda3\Scripts\activate.bat
C:\Users\Rostek\anaconda3\python.exe "C:\Users\Rostek\.spyder-py3\Projekty\pw.py"
@pause'''
我认为我无法通过 arguments。 我已经阅读了所有的互联网,并没有找到这样的东西。 请帮忙。 是书上的程序。 我正在使用 anaconda3。
您可能想考虑一下您的问题应该怎么做。
if len(sys.argv) < 2: print('Usage: py pw.py [account] - 复制账户密码') sys.exit()
这显然做了它应该做的。 您的问题实际上不是关于 python,而是关于 win+r 通过 arguments。
为什么要首先使用 win+r 运行程序?
运行 win+r 并输入例如 pw email ...
您想要的是打开命令行/ powershell/ bash 并直接使用python3 programname.py email
将变量传递给您的程序。 如果你想这样做更干净,你应该使用 argparser。
编辑:
在评论中澄清后:
问题是,如果您使用 win+r 执行脚本,您将在几分之一秒内获得输出,然后 cmd 将关闭...
因此,除非您在脚本中指定写入 pw 的位置,否则您将在控制台中拥有它。 它闪烁并立即消失。 因此打开一个控制台并从那里执行程序。 或者您可能想看看这个: Output 到剪贴板
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.