У меня возникли проблемы с некоторым кодом, который проходит через связку .csvs и удаляет финальную строку, если в ней ничего нет (т.е. файлы, заканчивающиеся символом \n
newline)
Мой код работает успешно во всех файлах, кроме одного, который является самым большим файлом в каталоге на 11gb. Второй по величине файл - 4.5gb.
Линия, с которой он выходит, просто:
with open(path_str,"r+") as my_file:
и я получаю следующее сообщение:
IOError: [Errno 22] invalid mode ('r+') or filename: 'F:\\Shapefiles\\ab_premium\\processed_csvs\\a.csv'
path_str
Я создаю с помощью os.file.join
, чтобы избежать ошибок, и я попытался переименовать файл в a.csv
, чтобы убедиться, что с именем файла не было ничего странного. Это не имело значения.
Еще более странно, файл счастлив открыть в режиме r. То есть следующий код работает нормально:
with open(path_str,"r") as my_file:
Я пробовал перемещаться по файлу в режиме чтения, и он счастлив читать символы в начале, в конце и в середине файла.
Кто-нибудь знает какие-либо ограничения на размер файла, с которым может справиться Python, или почему я могу получить эту ошибку? Я нахожусь на Windows 7 64 бит и имею 16 гб оперативной памяти.