Python 无法将数据写入文件?我看不出这个错误

Python 无法将数据写入文件?我看不出这个错误,python,python-3.x,csv,parsing,Python,Python 3.x,Csv,Parsing,在过去的几个小时里,我一直试图缩小一个问题的范围,但我看不到它。我是Python3新手,正在尝试解析项目的文本文件。 解析只是清除一些空白并替换定界符。 我不明白为什么它不起作用 更具体地说 我得到了一个特别的错误: "NameError: name 'out' is not defined" 代码: 每次出现单词DUBLIN时,您都试图打开该文件。您只需要打开它一次,并且应该在作用域确保写方法可以看到句柄的位置打开它 fullNameOfFile = os.path.join(save_pa

在过去的几个小时里,我一直试图缩小一个问题的范围,但我看不到它。我是Python3新手,正在尝试解析项目的文本文件。 解析只是清除一些空白并替换定界符。 我不明白为什么它不起作用

更具体地说 我得到了一个特别的错误:

"NameError: name 'out' is not defined"
代码:


每次出现单词DUBLIN时,您都试图打开该文件。您只需要打开它一次,并且应该在作用域确保写方法可以看到句柄的位置打开它

fullNameOfFile = os.path.join(save_path, 'newFormattedData'+".csv")     

out = open(fullNameOfFile, 'w') 

for line in f:
    if ':DUBLIN' in line:
        line = line.replace(' ', '')
        line = line.replace(':', ';')
        print(line)
        found = True

        out.write(line)

而且您肯定不希望有一个嵌套循环来迭代输入文件。

Oh shoot!我知道你想你是说。。。我执行了你的建议。谢谢你。它根据我的需要创建文件,但不强制执行replace方法中的解析逻辑。它也不会像我在代码中那样打印到控制台。我可能正在做一些我看不见的非常愚蠢的事情……好吧,这会解决你的紧急问题,所以你介意接受正确的答案并发布另一个问题吗。在这个问题中,请解释一下你想要达到的目标。您的示例输入是什么样的,以及您希望保存到输出文件的内容。这很公平。谢谢你的贡献。我不想让人觉得我是这个网站的垃圾用户。在再次发布之前,我会尝试更多的代码。是的,这是正确的方法,事实上,我的态度是+1
fullNameOfFile = os.path.join(save_path, 'newFormattedData'+".csv")     

out = open(fullNameOfFile, 'w') 

for line in f:
    if ':DUBLIN' in line:
        line = line.replace(' ', '')
        line = line.replace(':', ';')
        print(line)
        found = True

        out.write(line)