【发布时间】:2011-04-30 20:36:24
【问题描述】:
我正在使用 python 将一系列 SQL 语句写入文件。模板字符串如下所示:
store_insert = '\tinsert stores (storenum, ...) values (\'%s\', ...)'
我正在像这样写入文件:
for line in source:
line = line.rstrip()
fields = line.split('\t')
script.write(store_insert % tuple(fields))
script.write(os.linesep)
但是,在结果输出中,我在每行的末尾看到 \r\r\n,而不是我期望的 \r\n。为什么?
【问题讨论】:
-
%字符串格式现在已经过时了;首选成语是str.format=) -
您是以文本模式还是二进制模式打开文件?您使用的是哪个操作系统?
-
Windows,我刚刚做了一个 open(file, 'r')
-
哦,对于我打开的输出文件(outputFile,'w')
-
好的,我使用“open(file, 'wb')”打开文件(对于二进制模式),这解决了问题。为什么在文本模式下打开文件时python会将我的\r\n转换为\r\r\n?