Ошибка ввода-вывода: [Errno 22] недопустимый режим ('w') или имя файла: "C:/Users/...../file.csv"

Я запускаю симуляцию, в которой я читаю и пишу несколько файлов (оба.txt или.csv) на каждом временном шаге, чтобы общаться с внешними программами на C#.

Время от времени в симуляции возникает ошибка: IOError: [Errno 22] неверный режим ('w') или имя файла:"C:/Users/..../filename.csv"

Это не происходит каждый раз, когда я запускаю его, и если я запускаю каждую строку вручную, иногда это работает просто отлично, а иногда нет.

Я пишу. CSV, как это:

path=r'C:/Users/..../filename.csv'
datatowrite.to_csv(path, index=False)

и файлы.txt, как это:

    path=r'C:/Users/.../Filename.txt'
    np.savetxt(path, datatowrite)

Я рассмотрел похожие вопросы, но большинство из них связано с использованием обратных косых черт и двоеточий, поэтому я использую необработанные строки и прямые косые черты в своем коде и превращаю строку в переменную "путь" перед каждым сохранением файла или обращением к нему. Когда я запускаю симуляцию, она иногда срабатывает, а иногда я получаю сообщение об ошибке:

[Errno 22] invalid mode ('w') or filename: 'C:/Users/.../Filename.txt'

Я должен отметить, что я пишу и сохраняю файлы в Dropbox - может ли это быть проблемой? Возможно, файлы не синхронизируются достаточно быстро, прежде чем следующая строка попытается получить к ним доступ. Несмотря на это, я не понимаю, почему это работает иногда и не работает в других случаях. Какие-либо предложения?

0 ответов

Другие вопросы по тегам