我的意思是将访问该网站的所有用户都记录到文件中。 使用Flask作为后端。 我无法让python写入该文件。试图保持异常处理以捕获写入时可能产生的任何错误。没有例外。 以下是应写入文件的蓝图部分。
from .UserDataCache import UserDataCache
udc = UserDataCache()
@main.route('/')
def index():
s = Suggestion.query.all()
udc.writeUsertoFile()
return render_template('suggestions.html', suggestions = s)
这是UserDataCache类:
from flask import request
from datetime import datetime
class UserDataCache():
def __init__(self):
pass
def writeUsertoFile(self):
try:
with open("userData.txt","a") as f:
f.write(str(datetime.now()) + " " + request.remote_addr + " " + request.url + " " + request.headers.get('User-Agent') + "\n")
except IOError,e:
print e
return
答案 0 :(得分:0)
你的python文件名是否以大写字母开头?如果是这样,请尝试将其修改为小写。
我刚遇到同样的问题,并将完全相同的代码复制到两个.py文件中。唯一的区别是他们的文件名,一个是'Flask_test.py',另一个是'flask_for_test.py'。奇怪的是'Flask_test.py'工作得很好,除了它无法写入任何文件并且'flask_for_test.py'完美无缺。
我不知道文件名的格式是否对python的功能有影响,但使用小写文件名对我有效。
顺便说一句,我找到的所有其他解决方案都无效。