Вот подробные отличия: -
`` r '' Откройте текстовый файл для чтения. Поток расположен в начале файла.
`` r + '' Открыт для чтения и записи. Поток расположен в начале файла.
`` w '' Усекать файл до нулевой длины или создать текстовый файл для записи. Поток расположен в начале файла.
`` w + '' Открыт для чтения и записи. Файл создается, если он не существует, в противном случае он усекается. Поток расположен в начале файла.
`` a '' Открыт для записи. Файл создается, если он не существует. Поток расположен в конце файла. Последующая запись в файл всегда будет заканчиваться в текущем конце файла независимо от любого промежуточного fseek (3) или подобного.
`` a + '' Открыт для чтения и записи. Файл создается, если он не существует. Поток расположен в конце файла. Последующая запись в файл всегда будет заканчиваться в текущем конце файла независимо от любого промежуточного fseek (3) или подобного.
blockquote>Из документации python - http: //docs.python.org/2/tutorial/inputoutput.html#reading-and-writing-files:-
В Windows добавлен «b», добавленный в режим файл в двоичном режиме, поэтому существуют также такие режимы, как «rb», «wb» и «r + b». Python в Windows делает различие между текстовыми и двоичными файлами; конечные символы в текстовых файлах автоматически изменяются, когда данные считываются или записываются. Эта за кадром модификация файловых данных отлично подходит для текстовых файлов ASCII, но это приведет к повреждению двоичных данных, подобных этим в файлах JPEG или EXE. Будьте очень осторожны, чтобы использовать двоичный режим при чтении и записи таких файлов. В Unix не помешает добавить «b» в этот режим, поэтому вы можете использовать его независимо от платформы для всех двоичных файлов.
blockquote>Итак, если вы используете
w
режиме, вы на самом деле пытаетесь создать файл, и у вас могут не быть разрешения на его выполнение.r+
является подходящим выбором.Если вы находитесь в ситуации, когда вы еще не знаете, где ваш
.picasi.ini
существует или нет, и у вашего пользователя Windows есть разрешения на создание файлов в этом каталоге, и вы хотите добавьте новую информацию вместо начала в начале файла (ака «append»), тогдаa+
будет подходящим выбором.Это не имеет никакого отношения к тому, скрыт ли ваш файл или нет.
COPY products_273 TO '/tmp/products_199.csv' WITH (FORMAT CSV, HEADER);
as described in the manual.
Самый простой путь (использующий psql
), кажется, при помощи --csv
флаг:
psql --csv -c "SELECT * FROM products_273" > '/tmp/products_199.csv'