Это довольно запутанно. Когда у меня есть следующий код:Python не будет писать маленький объект в файл, но будет с большим объектом
lista = [i for i in range(10)]
file=open("file.txt","a")
file.write("\n")
file.write("".join(str(lista)))
Выходной файл "file.txt" будет пустым файлом с нулевыми байтами. Но когда я увеличиваю размер строки, которую нужно записать ...
lista = [i for i in range(10000)] # Or larger
file=open("file.txt","a")
file.write("\n")
file.write("".join(str(lista)))
Это прекрасно работает. Хотя для меня это не имеет смысла, он ведет себя так, как будто минимальный размер файла для записи в выходной файл. Почему это? Является ли эта проблема уникальной для моей вычислительной среды?
Любая помощь приветствуется. Я работаю над Mac OS Yosemite. Python 3.
Работает в Ubuntu и питона 3.4. Также, вероятно, вы хотите '" ".join (map (str, lista))' – Marcin
Закрываете ли вы файлы после обеих операций? – kartikg3
Вероятно, проблема с буферизацией. См. [Документация] (https://docs.python.org/2/library/functions.html#open). –