Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用python以追加模式打开文件并写入_Python_File Io_Python 2.7 - Fatal编程技术网

无法使用python以追加模式打开文件并写入

无法使用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

我的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')
    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我已经为您更新了相关代码,我可以在这里看到输出,它显示了它在循环中的运行:)您还不仅仅是在文件中获得换行符吗?