在Windows上找不到带有open(filename,'w')的文件

时间:2019-01-03 15:02:08

标签: python

我正在学校学习python,我想测试一些脚本。 但是,学校的计算机使用Linux,而我在家使用Windows。 我找到了在家练习的解决方案,但至少,我唯一的问题是当我使用 with open 在Python中创建文件时。

该程序可以正常运行,因为我在学校验证了更正内容,但在计算机上找不到文件。

我正在处理的程序是清除没有空格或“#”的文本,所以我只将列表行放在这里:

with open(deck, 'r') as data: 
    with open('output.txt', 'w') as output: 
        for line in data: 
            if (not ligne_commentee(line)) and (not ligne_vide(line)):
                output.write(supprime_caracteres_commentes(line))

PS:我是法语,所以文件名是法语...

甲板是deck = "C:\Users\CHLOE\Desktop\mes\texte_test.txt"

这是我可以读取文件的方式,但是找不到找到用output.write()创建的发现的解决方案。

你能帮我吗?谢谢!

1 个答案:

答案 0 :(得分:1)

由于您没有像使用output那样为deck指定绝对路径,因此Python根据您当前的目录创建output.txt(根据您所在的位置而有所不同运行脚本)。

output.txt输入绝对路径:

with open('C:\\Users\\CHLOE\\Desktop\\mes\\output.txt', 'w') as output: 

# ... rest of your code

如果output.txt总是相对于您的deck输入,您也可以这样做:

import os

output_path = os.path.dirname(deck)
with open(deck, 'r') as data: 
    with open(os.path.join(output_path, 'output.txt'), 'w') as output:

# ... rest of your code