我用Post方法接收Flask中的文本文件,问题是当我用流读取器readlines()或read()读取这些文件时,我得到了所有我不需要的二进制代码。
由于我正在使用谷歌云功能,我想避免保存文件,但在最坏的情况下可能是一个解决方案。
@app.route("/decode", methods=['POST'])
def receive():
if request.method == 'POST':
file = request.files['file']
dialect = sniffer.sniff(
str(file.readlines())
)
使用readlines()接收的行示例如下:b'1238124124Product Text 001\n',
任何解决方案?我需要将行作为字符串处理,因为我需要发现文件是CSV、位置文件还是两者的混合。
我试过使用file.read().decode('utf-8'),但没有成功。
1条答案
按热度按时间cnh2zyt31#
要将文件从二进制转换为文本,我建议使用
io.TextIOWrapper
。这样行就可以作为str
使用。