Основываясь на ответе @GM и обращая внимание на предупреждение @John La Rooy, я смог добавить новую строку, открыв файл в режиме 'a'
.
Даже в окна, чтобы избежать проблемы с новой строкой, вы должны объявить его как
newline=''
.Теперь вы можете открыть файл в режиме
blockquote >'a'
(без b).import csv with open(r'names.csv', 'a', newline='') as csvfile: fieldnames = ['This','aNew'] writer = csv.DictWriter(csvfile, fieldnames=fieldnames) writer.writerow({'This':'is', 'aNew':'Row'})
Я не пытался с обычным автором (без Dict), но я думаю, что все будет хорошо.
Существуют различные 64-разрядные модели данных ; Microsoft использует LP64 для.NET: и длинный с и указатели составляют 64 бита (хотя традиционные указатели C-стиля не существуют.NET). Контрастируйте это с ILP64, где интервал с - также 64 бита.
Таким образом, на всех платформах, int
32 бита, и long
64 бита; Вы видите это на названия базовых типов Система. Int32 и Система. Int64.
int
средства Int32
на языках.NET. Это было сделано для совместимости между 32-и 64-разрядная архитектура.
Вот таблица всех типов в C# и что они отображают на мудрую.NET.
Псевдонимы ключевого слова int
System.Int32
, который все еще требует 4 байтов, даже на 64-разрядной машине.
Int32
4 байта на x86 и x64. Int64
8 байтов любой случай. Тип C# int
является просто псевдонимом для System.Int32
. То же под обеими средами выполнения. Единственный тип, который действительно изменяется в зависимости от среды выполнения, IntPtr
:
unsafe
{
var size = sizeof(IntPtr); // 4 on x86 bit machines. 8 on x64
}
Можно думать int
указатель или System.IntPtr
. Это было бы 8 байтов на x64 и 4 байта на x86. Размер указателя показывает, что у Вас есть 64-разрядные адреса для Вашей памяти. (System.IntPtr.Size
== 8 на x64)
значение int
- все еще 4 байта, являетесь ли Вы на x86 или x64. То есть то, что int
будет всегда соответствовать System.Int32
.
Помните int
, просто псевдоним компилятора для основного типа Int32
. Учитывая, что должно быть очевидно, почему int
только 32 бита на платформе на 64 бита.