У меня есть очень простой маленький питон скрипт, чтобы показать мою проблему:
кодоблок ниже полный сценарий, всего 5 строк, хранится в файле с именем t.pyIOError при попытке добавить в файл в Cygwin
with open("file.txt", "w") as myfile: // Open file.txt in write mode
myfile.write("a b c ") // Write “a b c “ to the file
with open("file.txt", "a") as myfile: // Open the file.txt in append mode
myfile.write("d e f") // Append “d e f” to the end of the file
Сценарий отлично работает, когда я его запускаю из командной строки Windows. Затем я получаю файл file.txt, содержащий «a b c d e f», как я этого хочу.
Однако, когда я выполняю тот же скрипт с использованием python в Cygwin, я получаю ошибку при попытке записать 'd e f' в файл. (IOError: [Errno 22] Неверный аргумент) Я тогда в конечном итоге с file.txt, содержащий только "ABC"
Python версии: 2.7.x Cygwin версия: 1.7.20
ли кто-то есть идея, что может быть причиной?
Вот полный трассировки стека:
$ python t.py
Traceback (most recent call last):
File "t.py", line 5, in <module>
myfile.write('d e f')
IOError: [Errno 22] Invalid argument
Вот точный (непосредственно копировать & пасту из p.py):
with open("simtest_test_report.csv", "w") as myfile:
myfile.write("a b c ")
with open("simtest_test_report.csv", "a") as myfile:
myfile.write('d e f')
Можете ли вы добавить полную трассировку стека, пожалуйста? –
Да, добавлена трассировка стека. – Weldeborn
Основываясь на том, что вы вставили, я не вижу проблемы здесь. –