无法使用python以追加模式打开文件并写入
我的python版本是2.7.3。我正试图打开一个文件并写入它。我想在文件中追加,因为写东西在循环中。但实际上它什么也没写。 我写的代码如下:无法使用python以追加模式打开文件并写入,python,file-io,python-2.7,Python,File Io,Python 2.7,我的python版本是2.7.3。我正试图打开一个文件并写入它。我想在文件中追加,因为写东西在循环中。但实际上它什么也没写。 我写的代码如下: import os import re file = [ "/home/sam/a.cpp" , "/home/sam/b.cpp" ] fo = open("/home/sam/missingId.txt", 'a') print os.getcwd() for imagefile in file : f = open(imagefile,'r
import os
import re
file = [ "/home/sam/a.cpp" , "/home/sam/b.cpp" ]
fo = open("/home/sam/missingId.txt", 'a')
print os.getcwd()
for imagefile in file :
f = open(imagefile,'r')
print imagefile
f.readline()
f.readline()
condition = True
while condition:
line1=f.readline().split()
if line1[0] != "};" :
line2=f.readline().split()
search = "\"" + line1[1] +"\""
os.system("find /home/sam/abcd/ -exec grep " + search + " \'{}\' \\; -print > ~/sam.txt")
var = os.popen('ls -ltr ../ritesh.txt').read()
result = [str(x) for x in filter(None, re.split(' ',var))]
print result
print result[4]
if result[4] == "0" :
fo.write(line1[1])
print(" Here I am \n")
fo.write("\n")
print line1[1]
line=f.readline().split()
else :
condition = False
fo.close()
当我在控制台上获得print line1[1]
的输出时,它进入循环内部
我有一个linux环境 您是否已检查当前目录中是否有新文件
missingId.txt
?您正在使用相对路径打开文件。您可能需要添加导入操作系统;print os.getcwd()
在那里调用以确保您位于正确的目录中。在运行脚本之前,没有文件missingId.txt,它是在我运行脚本时创建的,但没有写入其中。好吧,有两个选项:您出错了,循环没有运行(并且您被另一个print语句弄糊涂了),或者在循环运行之前,fo
已被其他方法替换为.write()
方法。如果没有脚本中的更多上下文,就无法判断。@MartijnPieters我已经为您更新了相关代码,我可以在这里看到输出,它显示了它在循环中的运行:)您还不仅仅是在文件中获得换行符吗?