2016-09-14 77 views
0

所以我在python 2.7编程,我试图逐行复制一个文本文件,以便我可以修改几行并保存为一个新文件。 ?我除了输出文件有工作一切都有一大堆删除,并添加引号(“)的这是一个原始的行看起来像:写命令删除引号,并随机添加它们

"IECKAI"   TurbModel  - Turbulence model ("IECKAI"=Kaimal, "IECVKM"=von Karman, "GP_LLJ", "NWTCUP", "SMOOTH", "WF_UPW", "WF_07D", "WF_14D", "TIDAL", or "NONE") 

当我运行

f = open('C:\\Users\\bhansen\\Desktop\\TestEnv\\TurbSim2.inp', 'r') 
NewInputFile = open('C:\\Users\\bhansen\\Desktop\\TestEnv\\MyInput.inp', 'wb') 
for i in range(0, 66): 
    line = f.readline() 
    if i == 31: 
     num, stf = line.split(" ", 1) 
     num = '9' 
     new_line = num + stf 
     NewInputFile.write(new_line) 

    elif i == 36: 
     num, stf = line.split(' ', 1) 
     num = '8' 
     new_line = num + stf 
     NewInputFile.write(new_line)   

    else: 
     NewInputFile.write(line) 

它被写入像这样

"IECKAI   TurbModel  - Turbulence model ""(""""IECKAI""""=Kaimal,"" IECVKM=von Karman, GP_LLJ, NWTCUP, SMOOTH, WF_UPW, WF_07D, WF_14D, TIDAL, or NONE)" 

新的文件为什么会这样?如何解决?

PS 。给定的行是文本文件的第30行,但它也为if语句行做同样的事情

回答

0

所以我想通了。将源代码和输入文件发送给其他人后,我们发现由于某种原因(只有本机)不喜欢从.inp文件读取数据。因此,我们将读入的文件改为.txt文件类型,但将输出文件保存为.inp(它必须用于传递给它的程序),并且它工作得很好。