Удалите файл, если он существует. Если это не так, создайте его


Название говорит все.

Мой код:

 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 3

1 ответ:

Исключение, которое я получаю для отсутствующего имени файла, - это "OSError", а не "IOError". И если вы получаете исключение, вы просто хотите пройти, и запись файла должна быть вне блока try.

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

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