Как мне внести данные переменной в одинарные кавычки?

Рейтинг: 0Ответов: 1Опубликовано: 29.03.2023

Создаю программу с функцией копирования сгенерированной информации в буфер обмена пользователя. Использую Pyperclip (если знаете что-то лучше, пишите). Мне надо поместить информацию переменной (случайно сгенерированное число) в переменную с типом str и в которой будут одинарные кавычки. Приведу ниже пример кода для понятности проблемы:

# libraries
import secrets
import pyperclip
# variables
pw_res = None
# code
def generate():
   pw_res = secrets.token_urlface(16) # это пароль (будем обозначать 1q-2w3e4r5t-6y)
def copy():
   pyperclip.copy(pw_res) #ТУТ ДОЛЖНА БЫТЬ ПЕРЕМЕННАЯ pw С ОДИНАРНЫМИ КАВЫЧКАМИ, НАПРИМЕР: pyperclip.copy('1234') - в буфере обмена будет 1234, а выводится None

Жду ответов!

Ответы

▲ 0Принят
def generate():
   pw_res = secrets.token_urlface(16) # это пароль (будем обозначать 1q-2w3e4r5t-6y)

pw_res тут - локальная переменная функции generate, она остаётся внутри функции, снаружи функции при этом ничего не меняется. Хотите менять глобальную переменную - явно это укажите:

def generate():
   global pw_res
   pw_res = secrets.token_urlface(16) # это пароль (будем обозначать 1q-2w3e4r5t-6y)

Но вообще глобальные переменные это зло, лучше передавать параметры в функции в явном виде и получать результат тоже в явном виде:

def generate():
   return secrets.token_urlface(16) # это пароль (будем обозначать 1q-2w3e4r5t-6y)

def copy(pw_res):
   pyperclip.copy(pw_res)

x = generate()
copy(x)

# или

copy(generate)