Как мне внести данные переменной в одинарные кавычки?
Создаю программу с функцией копирования сгенерированной информации в буфер обмена пользователя. Использую 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
Жду ответов!
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
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)