Flask没有写入文件

时间:2015-08-26 17:59:02

标签: python file flask

我的意思是将访问该网站的所有用户都记录到文件中。 使用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

1 个答案:

答案 0 :(得分:0)

你的python文件名是否以大写字母开头?如果是这样,请尝试将其修改为小写。

我刚遇到同样的问题,并将完全相同的代码复制到两个.py文件中。唯一的区别是他们的文件名,一个是'Flask_test.py',另一个是'flask_for_test.py'。奇怪的是'Flask_test.py'工作得很好,除了它无法写入任何文件并且'flask_for_test.py'完美无缺。

我不知道文件名的格式是否对python的功能有影响,但使用小写文件名对我有效。

顺便说一句,我找到的所有其他解决方案都无效。