Python open file on server

Введение в Python FTP

В этом руководстве мы рассмотрим, как использовать FTP с Python для отправки и получения файлов с сервера через соединения TCP / IP .

Чтобы упростить задачу и сделать ее более абстрактной, мы будем использовать библиотеку Python ftplib, которая предоставляет ряд функций, облегчающих работу с FTP. Мы увидим реализацию для загрузки и выгрузки файлов с сервера, а также некоторые другие интересные вещи, которые позволяет нам делать ftplib.

Что такое FTP?

FTP обозначает протокол передачи файлов; он основан на архитектуре модели клиент-сервер и широко используется. Имеет два канала; командный канал и канал данных. Командный канал используется для управления связью, а канал данных используется для фактической передачи файлов. С помощью FTP вы можете делать множество вещей, таких как перемещение, загрузка, копирование файлов и т.д. Мы обсудим это в следующем разделе, а также подробно расскажем, как это сделать с помощью Python.

Работа с FTP в Python

Двигаясь дальше, вы будете рады узнать, что ftplib это встроенная библиотека, которая уже установлена ​​с Python, все, что вам нужно сделать, это импортировать ее в свой скрипт и вы можете начать использовать ее функции. Чтобы импортировать его, используйте следующую команду:

Читайте также:  Php json html null

После этого нам нужно установить соединение с FTP-сервером, с которым мы хотим открыть канал связи. Для этого создайте экземпляр ftp :

Вышеуказанный метод использует порт по умолчанию, то есть порт 21, для установления соединения с сервером. Следующим шагом является предоставление учетных данных для входа в систему, то есть вашего имени пользователя и пароля, чтобы получить доступ к файлам на сервере. Для этого вы можете использовать следующий метод:

ftp.login('your_username','your_password')

Значения по умолчанию для имени пользователя и пароля — «anonymous» и «anonymous@» соответственно. Если соединение установлено успешно, вы должны получить сообщение, похожее на «230 Login Successful».

Теперь, когда мы установили соединение с сервером, мы хотим перейти к каталогу, в котором мы хотим выполнить операции, т.е. получить или записать файл. Для этого мы изменим «текущий рабочий каталог», используя следующую команду:

Давайте теперь обсудим некоторые основные примеры того, как получить файл из каталога или записать файл в каталог. Объяснение кода предоставляется в комментариях рядом с каждой строкой кода:

file_name = 'a-filename.txt' my_file = open(file_name, 'wb') # Откройте локальный файл, чтобы сохранить загруженный файл ftp.retrbinary('RETR ' + file_name, my_file.write, 1024) # Введите имя файла для загрузки

В приведенном выше вызове retrbinary 1024 означает, что файл будет загружен блоками по 1024 байта, пока не будет передан весь файл.

Есть еще одна вещь, которую вам нужно сделать после загрузки или отправке файла — закройте этот файл, а также закройте открытое вами соединение FTP. Вы можете сделать это для приведенного выше примера с помощью следующих двух строк кода:

ftp.quit() # Завершить FTP-соединение my_file.close() # Закройте локальный файл, который вы открыли для загрузки / хранения его содержимого

Давайте теперь попробуем загрузить файл на сервер. В дополнение к приведенным ниже командам вам также придется переписать команды, которые мы использовали выше, чтобы открыть FTP-соединение.

file_name = 'a-filename.txt' ftp.storbinary('STOR ' + file_name, open(file_name, rb))

В приведенных выше примерах «rb» и «wb» означают «чтение двоичного файла» и «запись двоичного файла» соответственно.

Дополнительные функции FTP

Теперь, когда мы обсудили реализацию основных функций, давайте рассмотрим некоторые дополнительные функции, которые предоставляет нам ftplib .

Список файлов и каталогов

Чтобы просмотреть файлы и папки в текущем рабочем каталоге, в виде списка, выполните команду retrlines :

Создать новый каталог

Чтобы организовать ваши файлы определенным образом, вам может потребоваться создать новый каталог на сервере, что можно сделать с помощью одной строки кода:

ftp.mkd('/path/for/the/directory')

Путь будет тем местом, в котором вы хотите разместить новый каталог.

Удалить файл с сервера

Удаление файла на сервере довольно просто, вам просто нужно дать имя файла в качестве параметра функции удаления. Успешность или неудача операции будут переданы в ответном сообщении.

ftp.delete('file_name_to_delete')

Проверить текущий путь

Чтобы проверить текущий путь, просто запустите следующий код:

Эта команда вернет абсолютный путь к текущему рабочему каталогу.

Важно отметить, что, хотя FTP сам по себе достаточно безопасен, он обычно не используется для передачи конфиденциальной информации; если вы передаете что-то подобное, вам следует использовать более безопасные опции, такие как SFTP (Secure FTP) или SSH (Secure Shell). Это наиболее часто используемые протоколы для обработки конфиденциальных данных.

Заключение

В этом посте мы обсудили, что такое FTP и как он работает, с помощью различных примеров. Мы также увидели, как использовать модуль Python «ftplib» для связи с удаленным сервером по FTP, и увидели некоторые другие функции, которые предлагает этот модуль. В конце мы также обсудили некоторые более безопасные альтернативы FTP, такие как SFTP и SSH, которые используются для передачи конфиденциальной информации.

Для получения дополнительной информации об использовании FTP с Python см. Официальную документацию по ftplib или RFC 959 .

Источник

Работа с FTP в Python

В этом руководстве мы рассмотрим, как использовать FTP с Python для отправки и получения файлов с сервера через соединения TCP и IP.

Чтобы упростить задачу и сделать ее более абстрактной, мы будем использовать библиотеку ftplib в Python, которая предоставляет ряд функций, упрощающих работу с FTP. Мы увидим реализацию загрузки и скачивания файлов с сервера, а также некоторые другие интересные вещи, которые позволяет нам делать ftplib.

Что такое FTP?

FTP означает протокол передачи файлов. Он основан на архитектуре модели клиент-сервер и широко используется. Имеет два канала: командный и канал данных.

Командный канал используется для управления связью, а канал данных используется для фактической передачи файлов. Существует множество вещей, которые вы можете делать с помощью FTP, например, перемещать, скачивать, копировать файлы и т.д.

Работа с FTP

ftplib – это встроенная библиотека, которая уже установлена вместе с Python, все, что вам нужно сделать, это импортировать ее в свой скрипт, и вы можете начать использовать ее функции. Чтобы импортировать его, используйте следующую команду:

После этого нам нужно инициировать соединение с FTP-сервером, с которым мы хотим открыть канал связи. Для этого создайте экземпляр ftp:

# Replace the example domain with your domain name ftp = FTP('ftp.example.com')

Вышеупомянутый метод использует порт по умолчанию, то есть порт 21, для установления соединения с сервером. Следующим шагом является предоставление учетных данных для входа, то есть вашего имени пользователя и пароля, чтобы получить доступ к файлам на сервере. Для этого вы можете использовать следующий метод:

ftp.login('your_username','your_password')

Значения по умолчанию для имени пользователя и пароля – «анонимный» и «[защищенный адрес электронной почты]» соответственно. Если соединение установлено успешно, вы должны получить сообщение, подобное «230 Login Successful».

Теперь, когда мы установили соединение с сервером, мы хотим перейти в каталог, в котором мы хотим выполнять операции, то есть получать или записывать файл. Для этого мы меняем «текущий рабочий каталог», используя следующую команду:

Давайте теперь обсудим несколько основных примеров того, как получить файл из каталога или записать файл в каталог. Объяснение кода приводится в комментариях рядом с каждой строкой кода:

file_name = 'a-filename.txt' my_file = open(file_name, 'wb') # Open a local file to store the downloaded file ftp.retrbinary('RETR ' + file_name, my_file.write, 1024) # Enter the filename to download

В приведенном выше вызове retrbinary 1024 означает, что файл будет загружен блоками по 1024 байта, пока не будет передан весь файл.

Есть еще одна вещь, которую вам нужно сделать после загрузки или выгрузки файла – закрыть этот файл, а также закрыть FTP-соединение, которое вы открыли. Вы можете сделать это для приведенного выше примера с помощью следующих двух строк кода:

ftp.quit() # Terminate the FTP connection my_file.close() # Close the local file you had opened for downloading/storing its content

Теперь попробуем загрузить файл на сервер. В дополнение к командам ниже вам также придется переписать команды, которые мы использовали выше, чтобы открыть FTP-соединение.

file_name = 'a-filename.txt' ftp.storbinary('STOR ' + file_name, open(file_name, rb))

В приведенных выше примерах «rb» и «wb» означают «чтение двоичного кода» и «запись двоичного файла» соответственно.

Дополнительные функции

Теперь, когда мы обсудили реализацию основных функций, давайте рассмотрим некоторые дополнительные функции, которые предоставляет ftplib.

Список файлов и каталогов

Чтобы просмотреть файлы и папки в текущем рабочем каталоге в формате списка, выполните команду retrlines:

Как создать новый каталог?

Чтобы упорядочить файлы определенным образом, вам может потребоваться создать новый каталог на сервере, что можно сделать с помощью одной строки кода:

ftp.mkd('/path/for/the/directory')

Путь – это место, в котором вы хотите разместить новый каталог.

Как удалить файл с сервера?

Удалить файл на сервере довольно просто, вам просто нужно указать имя файла в качестве параметра функции удаления. Об успехе или неудаче операции будет сообщено в ответном сообщении.

ftp.delete('file_name_to_delete')

Как проверить текущий путь?

Чтобы проверить текущий путь, просто запустите следующий код:

Эта команда вернет абсолютный путь к текущему рабочему каталогу.

Безопасность

Важно отметить, что хотя FTP сам по себе достаточно безопасен, он обычно не используется для передачи конфиденциальной информации. Если вы переносите что-то подобное, вам следует выбрать более безопасные варианты, такие как SFTP (Secure FTP) или SSH (Secure Shell). Это наиболее часто используемые протоколы для обработки конфиденциальной передачи данных.

Заключение

В этом посте мы обсудили, что такое FTP и как он работает, на различных примерах. Мы также увидели, как использовать модуль ftplib в Python для связи с удаленным сервером с помощью FTP, и увидели некоторые другие функции, которые предлагает этот модуль.

В конце мы также обсудили некоторые более безопасные альтернативы FTP, такие как SFTP и SSH, которые используются для передачи конфиденциальной информации.

Источник

Python File Open

Assume we have the following file, located in the same folder as Python:

To open the file, use the built-in open() function.

The open() function returns a file object, which has a read() method for reading the content of the file:

Example

If the file is located in a different location, you will have to specify the file path, like this:

Example

Open a file on a different location:

Read Only Parts of the File

By default the read() method returns the whole text, but you can also specify how many characters you want to return:

Example

Return the 5 first characters of the file:

Read Lines

You can return one line by using the readline() method:

Example

Read one line of the file:

By calling readline() two times, you can read the two first lines:

Example

Read two lines of the file:

By looping through the lines of the file, you can read the whole file, line by line:

Example

Loop through the file line by line:

Close Files

It is a good practice to always close the file when you are done with it.

Example

Close the file when you are finish with it:

Note: You should always close your files, in some cases, due to buffering, changes made to a file may not show until you close the file.

Unlock Full Access 50% off

COLOR PICKER

colorpicker

Join our Bootcamp!

Report Error

If you want to report an error, or if you want to make a suggestion, do not hesitate to send us an e-mail:

Thank You For Helping Us!

Your message has been sent to W3Schools.

Top Tutorials
Top References
Top Examples
Get Certified

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Источник

Оцените статью