带.bat文件的.py将无法运行

问题描述 投票:0回答:2

所以从一开始就开始编程,一些朋友建议先学习python然后再进入其他方面。我开始阅读Al Sweigart使用Python自动化无聊的东西,我觉得这对初学者来说很简单。

Any,当我试图从Run窗口运行某个项目(名为pw.py,这是一个不安全的密码复制器)时,我遇到了问题。我做了所有需要完成的事情:创建了一个.bat文件;增加了对环境的扩展;当然,正确安装了python。但是,当我尝试运行它时,cmd屏幕显示一瞬间然后关闭而不复制任何内容。我试图在不同的行中定义其值为input()的不同变量,以检测问题在哪里发生,但没有成功 - 它一直在做同样的事情。我甚至试图删除sys.exit(),因为我认为它导致了一个问题。 有人能帮忙吗?

我正在尝试运行的代码:

#! python3

#pw.py - An insecure password locker program.

passwords = {'email':'ffd458fds8eth369h',
             'blog':'uibpvnt843kjlg8u65',
             'luggage': '12345'}

import sys, pyperclip
if len(sys.argv) < 2:
    print('Usage: python 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)

批处理文件包含:

@py.exe C:\path\pw.py %*  
@pause  

我还尝试了另一个:

@echo off  
python c:\path\pw.py %*  
pause  

我已将这些插入到运行窗口中(使用所有不同类型的括号):

pw.py <email>
C:\path\pw.py <email>  
C:\windows\py.exe c:\path\pw.py <email> #(I don't know if this one is correct but I tried it anyway)
python windows batch-file
2个回答
0
投票

我已经尝试过你的代码,它似乎工作得很好:

批处理文件包含:@ py.exe C:\ path \ pw.py%* @pause

尝试指定解释器的完整路径

例如:

@"C:\Anaconda3\python.exe" "C:\Users\someuser\PycharmProjects\test\pw.py" %*

0
投票

我很确定在Python 3中,如果需要任何模块,模块导入必须始终是第一件事。评论是一个例外。

© www.soinside.com 2019 - 2024. All rights reserved.