Я написал Flask, который повторно использует код из существующего скрипта (сохраняя его СУХОЙ).
Приложение Flask работает хорошо и возвращает значения, как и ожидалось.
Однако при запуске автономного скрипта Python secretkeygenerator.py
я не вижу никакого вывода в командную строку.
Python CLI-скрипт
#!/usr/bin/python3
import clipboard # import pyperclip
import random
def secretkeygenerator():
letters=['q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'z', 'x', 'c', 'v', 'b', 'n', 'm']
numbers=['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']
symbols=['!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '+', '.', '<', '>', '?', '-', '=']
# The length of the string is 50
secret_key_list=random.sample(numbers, 10) + random.sample(numbers, 10) + \
random.sample(symbols, 10) + random.sample(symbols, 10) + random.sample(letters, 10)
random.shuffle(secret_key_list)
secret_key=''.join(secret_key_list)
with open('secretkey.txt', 'w') as secretkey:
secretkey.write('Your secret key, also copied to your clipboard is: {0}\n'.format(secret_key))
return secret_key
print('Your secret key, also copied to your clipboard is: {0}'.format(secret_key))
clipboard.copy(secret_key) # pyperclip.copy(secret_key)
secret_key_clip=clipboard.paste() # secret_key_clip=pyperclip.paste()
if __name__=='__main__':
secretkeygenerator()
Приложение Flask:
#!/usr/bin/python3
from flask import (
Flask,
render_template,
request,
)
from secretkeygenerator.secretkeygenerator import secretkeygenerator
app=Flask(__name__)
@app.route('/')
def index():
secret_key=secretkeygenerator()
return render_template('index.html', secret_key=secret_key)
if __name__=='__main__':
app.run(debug=True)
При запуске только сценария CLI секретный ключ не печатается на терминале.
Что я не делаю?
Я ожидаю, что секретный ключ будет напечатан на терминале при запуске сценария secretkeygenerator.py
, и результатов не будет, несмотря на то, что секретный ключ записан правильно в файл secret.txt
.
Myструктура папок:
.
├── app
│ ├── app.py
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── app.cpython-35.pyc
│ │ ├── generatesecretkey.cpython-35.pyc
│ │ ├── __init__.cpython-35.pyc
│ │ └── secretkeygenerator.cpython-35.pyc
│ ├── secretkey.txt
│ ├── static
│ │ └── css
│ │ └── layoutimprovements.css
│ └── templates
│ └── index.html
├── __init__.py
├── __pycache__
│ ├── __init__.cpython-35.pyc
│ └── secretkeygenerator.cpython-35.pyc
├── README.md
├── secretkeygenerator.py
└── secretkey.txt