我该如何解决"错误的类型"使用pyperclip时出错?

时间:2018-04-11 13:55:23

标签: python pyperclip argument-error

尝试使用pyperclip进行一些简单的代码练习"使用Python自动化无聊的东西"预订,但在尝试使用命令行运行程序时,我一直遇到以下错误。

尝试在网上查找无效:​​我尝试使用pip命令行重新安装pyperclip,将 init .py文件复制到主Python文件夹并将文件名更改为pyperclip,但没有到目前为止工作。非常感谢您的支持,了解问题所在以及如何解决问题。

错误如下:

Traceback (most recent call last):
 File C:\Users\AppData\Local\Programs\Python\Python36-32\pw.py, line 15, in <module>
  pyperclip.copy(PASSWORD[account])
 File C:\Users\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pyperclip\_init_.py", line 424, in copy_windows
  count = wcslen(text) + 1
 File C:\Users\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pyperclip\_init_.py", line 304, in_call_
  ret = self.f(*args)
ctypes.ArgumentError: argument 1: <class 'TYpeError'>: wrong type

代码如下:

#! python3
# pw.py - An insecure password locker program

PASSWORD = {'email':1234,'facebook':5678}

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 PASSWORD:
    pyperclip.copy(PASSWORD[account])
    print('Password for ' + account + ' copied to clipboard')
else:
    print('There is no account named ' + account)

1 个答案:

答案 0 :(得分:0)

PyperClip需要复制一个字符串,如果您尝试复制整数,则会出现引发TypeError的情况。

您的密码字典可以包含任何内容,因此我建议更改行

pyperclip.copy(PASSWORD[account])

类似

pyperclip.copy(str(PASSWORD[account]))