Автоматизируйте скучную работу с помощью Python Chapter 6 Password locker - PullRequest
0 голосов
/ 13 июля 2020
#! 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'''

Думаю, я не могу передать аргументы. Прочитал весь inte rnet и ничего подобного не нашел. пожалуйста помоги. Это программа из книги. Я использую anaconda3.

1 Ответ

0 голосов
/ 13 июля 2020

Возможно, вы захотите подумать, что должна делать ваша проблема.

if len (sys.argv) <2: print ('Usage: py pw.py [account] - copy пароль учетной записи ') sys.exit () </p>

Это явно делает то, что должно. На самом деле ваш вопрос не о python, а о передаче аргументов win + r.

Почему вы хотите запускать свою программу с помощью win + r в первую очередь?

После запуска win + r и ввода, например, pw email ...

Вам нужно вместо этого открыть командную строку / powershell / bash и просто передать переменные в вашу программу с помощью python3 programname.py email прямо. Если вы хотите сделать это еще более чистым, вы должны использовать argparser.

EDIT:

После пояснения в комментариях:

Проблема в том, что если вы выполните сценарий с помощью win + r вы получите результат - на долю секунды - затем cmd закрывается ...

Итак, если вы не укажете в своем скрипте место, куда записывается pw, вы он будет в вашей консоли. Которая мигает и тут же исчезает. Поэтому откройте консоль и запустите программу оттуда. Или вы можете взглянуть на это: Вывод в буфер обмена

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...