Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使程序在按键后复制输出?_Python_Python 3.x - Fatal编程技术网

Python 如何使程序在按键后复制输出?

Python 如何使程序在按键后复制输出?,python,python-3.x,Python,Python 3.x,我制作了一个密码生成器,现在我需要让它在按“C”键时复制生成的密码,我尝试了“输入”(“按C复制”),但它不起作用。 有什么想法吗 import random print("Welcome to the password generator") input("press enter to generate a password : ") def password(length): pw = str() characters = "abcdefghijklmnopqurs

我制作了一个密码生成器,现在我需要让它在按“C”键时复制生成的密码,我尝试了“输入”(“按C复制”),但它不起作用。 有什么想法吗

import random

print("Welcome to the password generator")

input("press enter to generate a password : ")

def password(length):

    pw = str()

    characters = "abcdefghijklmnopqurstuvwxyz"

    numbers = "123456789"

    weird= "/?!$£*<>"

    for i in range(length):

        pw = pw + random.choice(characters) + random.choice(numbers) + random.choice(weird)

    print(pw)

    return pw


password(4)

#this's what I tried

input("press c to copy") 
随机导入
打印(“欢迎使用密码生成器”)
输入(“按enter键生成密码:”)
def密码(长度):
pw=str()
characters=“abcdefghijklmnopqurstuvxyz”
number=“123456789”
奇怪的“/$£*"
对于范围内的i(长度):
pw=pw+random.choice(字符)+random.choice(数字)+random.choice(怪异)
打印(pw)
返回pw
密码(4)
#这就是我试过的
输入(“按c键复制”)

如果您想复制,无论您尝试什么:

import pyperclip
pyperclip.copy(password(4))
如果你想等到你达到C,有两种方法可以做到这一点 简单的方法是点击c,然后点击回车键 然后,如果输入是c,则执行if语句 像这样

import pyperclip
key = input("press c to copy: ") 
if key == "c":
   pyperclip.copy(password(4))

另一种方法是使用pynput来收听所有键盘笔划。

使用键盘模块
pip安装键盘

下面是一个使用它的示例(希望这有帮助)

导入键盘
尽管如此:
如果(键盘被按下('c')):
#做事
安装并使用该库

要安装:

pip install pyperclip
简单用法:

import pyperclip

pyperclip.copy(pw)
您的代码如下所示:

import random
import pyperclip

print("Welcome to the password generator")
input("press enter to generate a password : ")

def password(length):
    pw = str()
    characters = "abcdefghijklmnopqurstuvwxyz"
    numbers = "123456789"
    weird= "/?!$£*<>"

    for i in range(length):
        pw = pw + random.choice(characters) + random.choice(numbers) + random.choice(weird)

    print(pw)

    return pw


pw = password(4)
pyperclip.copy(pw)

随机导入
进口pyperclip
打印(“欢迎使用密码生成器”)
输入(“按enter键生成密码:”)
def密码(长度):
pw=str()
characters=“abcdefghijklmnopqurstuvxyz”
number=“123456789”
奇怪的“/$£*"
对于范围内的i(长度):
pw=pw+random.choice(字符)+random.choice(数字)+random.choice(怪异)
打印(pw)
返回pw
pw=密码(4)
pyperclip.copy(pw)

我提供的代码将不按任何键复制密码。

首先导入pyautogui,然后将其添加到脚本底部:

pyautogui.typewrite(['up'])
pyautogui.typewrite(['up'])
pyautogui.hotkey('shift','end')
pyautogui.hotkey('ctrl','c')

(这仅在使用python编辑器运行脚本时有效。)

这是否回答了您的问题:这是否回答了您的问题?请注意,
pyperclip
不是python标准库的一部分,因此用户需要先安装pyperclip。