删除文件(如果存在)。如果没有,请创建它

时间:2015-08-07 15:38:58

标签: python file error-handling delete-file

标题说全部。

我的代码:

 try:
        os.remove("NumPyResults.txt")

 except IOError:

        with open("NumPyResults.txt", 'a') as results_file:
            outfile = csv.writer(results_file)
            outfile.writerow(.......)

它附加的原因是因为它处于一个函数中并被多次调用。因此,每次运行程序时,我都想要一个新文件,删除旧文件并编写新文件。

但是,这不会创建新文件。我还在我运行的目录中创建了该文件,并且它也没有删除它。

我得到了

WindowsError: [Error 2] The system cannot find the file specified: 'NumPyResults.txt'

1 个答案:

答案 0 :(得分:6)

我找到缺少文件名的异常是'OSError',而不是'IOError'。 如果你得到异常,你只想传递,文件写入应该在try块之外。

try:
    os.remove("NumPyResults.txt")
except OSError:
    pass

with open("NumPyResults.txt", 'a') as results_file:
    results_file.write('hi\n')