【发布时间】:2016-04-14 11:40:38
【问题描述】:
我有一个.sql 文件。我使用 Python 逐行读取它并将每一行保存在另一个文件中。因此,理论上输入和输出文件必须相同,但实际上输出文件比输入文件小 10 倍以上。我就是这样做的:
f = open('output.txt','w')
for line in file('input.sql'):
line = line.replace('\n','')
print >>f, line
f.close()
有人知道信息在哪个阶段丢失以及为什么丢失?
【问题讨论】:
-
@joelgoldstick,为什么你认为我的 *.sql 文件是一个 sqlite 文件?
-
您是否检查了这两个文件的内容并发现了任何差异?而且我无法用您的代码重现问题
-
@LeiShi,我无法在文本编辑器中打开 *.sql 文件,因为它的大小约为 2G。 *.txt 文件大小约为 150M。我用文本编辑器打开它,看到一些 SQL 语句和我的数据。 *.txt 文件中的行数似乎还可以。
-
我无法重现该问题 :( 而且,代码看起来很简单,“几乎”不会有任何误用。您可能会做的另一个尝试是使 input.sql 的头部和尾部达到峰值,并且将它们与 output.txt 中的相应部分进行比较,看看是否有任何错误。如果你在 linux bash 上,可以使用命令“head”和“tail”。
-
找到原因了吗?
标签: python sql file input output