假设我有一个服务器代码,并且当调用函数savePersonList()时,应将打印在控制台上的结果保存到文本文件中。
#server coding
app = Flask(__name__)
def allowed_file(filename):
# this has changed from the original example because the original did not work for me
return filename[-3:].lower() in ALLOWED_EXTENSIONS
@app.route('/', methods=['GET', 'POST']) #integrate code below function
def upload_file():
if request.authorization and request.authorization.username == 'user1' and request.authorization.password == 'pass2': #login code line
if request.method == 'POST':
print("This is a post Request \n\n")
file = request.files['file']
if file and allowed_file(file.filename):
print("File Sent is valid \n\n")
print('**found file', file.filename)
filename = secure_filename(file.filename) #use this from existing code before calling video capture
file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
#code
''' This is the start of face recongition script '''
CF.Key.set('d7c5495c64a44bc692761cd7c45ad56e')
CF.BaseUrl.set('https://southeastasia.api.cognitive.microsoft.com/face/v1.0/')
firstRun = True
lastRun = False
#savePersonList()
答案 0 :(得分:0)
您可以将sys.stdout重定向为一个文件(请参见Redirect stdout to a file in Python?),但是使用日志记录模块可能会更好。
答案 1 :(得分:0)
如果您在Linux上运行,只需使用python app.py > file.txt
(创建了file.txt)(在Windows上也可以)。
并按照docs
所述将记录器添加到烧瓶应用程序中因此您可以自己为每个请求编写它 然后将file.txt用作您的调试日志。希望有帮助。
答案 2 :(得分:0)
在一般情况下,srinath samala的答案是正确的,但是正如您在评论中提到的那样,并非所有输出都重定向到文件。
这是因为Flask应用程序的某些输出重定向到了STDERR,而不仅是STDOUT。
要将两者都重定向到txt文件中,您想使用此代码:
python app.py >> file.txt 2>&1