如何通过Python读取和写入文件来丢失信息?

时间:2016-04-14 11:40:38

标签: python sql file input output

我有.sql个文件。我使用Python逐行读取它并将每行保存在另一个文件中。因此,理论上输入和输出文件必须相同,但实际上输出文件比输入文件小10倍以上。我就是这样做的:

f = open('output.txt','w')
for line in file('input.sql'):
    line = line.replace('\n','')
    print >>f, line
f.close()

有人知道信息丢失的阶段和原因吗?

1 个答案:

答案 0 :(得分:0)

dos文件和unix文件之间存在一些固有的差异。

其中一个区别是dos文件中存在^ M字符,这在unix文件中不存在。

如果您使用的是Linux计算机,则可以通过运行cat -acat -steve命令在文件中查看这些特殊字符。

例如,当使用cat -steve for dos格式(文件是在Windows OS中创建)和Hi there以unix格式进行分析时,语句Hi there^M$Hi there$

尝试运行cat -steve <filename>

如果您的输入文件是dos文件,并且您正在linux机器中处理输出,则输出有可能是linux格式的。当然,unix文件比dos文件更紧凑。

编辑:您可以通过运行dos2unix <file_name>unix2dos <file_name>来删除或强制执行文件中的^ M个字符。

相关问题