Hướng dẫn how do i upload files to an ftp server using python? - làm cách nào để tải tệp lên máy chủ ftp bằng python?

Tôi chỉ trả lời một câu hỏi tương tự ở đây IMHO, nếu máy chủ FTP của bạn có thể giao tiếp với vải xin vui lòng cho chúng tôi vải. Nó tốt hơn nhiều so với làm RAW ftp.

Tôi có một tài khoản FTP từ dotgeek.com vì vậy tôi không chắc liệu điều này có hoạt động cho các tài khoản FTP khác không.

#!/usr/bin/python

from fabric.api import run, env, sudo, put

env.user = 'username'
env.hosts = ['ftp_host_name',]     # such as ftp.google.com

def copy():
    # assuming i have wong_8066.zip in the same directory as this script
    put('wong_8066.zip', '/www/public/wong_8066.zip')

Lưu tệp dưới dạng fabfile.py và chạy fab copy cục bộ.

yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.

Một lần nữa, nếu bạn không muốn nhập mật khẩu mọi lúc, chỉ cần thêm

env.password = 'my_password'

Điều kiện tiên quyết: ftp, ftplib FTP, ftplib

Ở đây, chúng tôi sẽ tìm hiểu cách tải xuống và tải lên các tệp trong máy chủ FTP bằng Python. Trước khi chúng tôi bắt đầu, trước tiên chúng tôi sẽ hiểu FTP là gì.FTP.

FTP (Giao thức truyền tệp)

Giao thức truyền tệp (FTP) là giao thức lớp ứng dụng di chuyển các tệp giữa các hệ thống tệp cục bộ và từ xa. Nó chạy trên đỉnh của TCP, như HTTP. Để chuyển một tệp, 2 kết nối TCP được FTP sử dụng song song: Kết nối kiểm soát và kết nối dữ liệu.

Để tải lên và tải xuống tệp, chúng tôi sẽ sử dụng mô -đun ftplib trong Python. Nó là một mô-đun được xây dựng trong Python.

Mô -đun ftplib là gì? & Nbsp;

Mô -đun này xác định lớp FTP và một vài mục liên quan. Lớp FTP thực hiện phía máy khách của giao thức FTP. Bạn có thể sử dụng điều này để viết các chương trình Python thực hiện nhiều công việc FTP tự động, chẳng hạn như phản ánh các máy chủ FTP khác.

Chúng tôi sẽ sử dụng máy chủ FTP thử nghiệm, nó được gọi là dlptest & nbsp; Và chúng tôi sẽ sử dụng tệp văn bản dưới đây cho tất cả các hoạt động:FTP server, it is called DLPTEST  and we are going to use the below text file for all operations:

Hướng dẫn how do i upload files to an ftp server using python? - làm cách nào để tải tệp lên máy chủ ftp bằng python?

Hãy để hiểu từng bước thực hiện:

  • Nhập thông tin cần thiết, thông tin sẽ có sẵn bấm vào đây.click here.

Python3

import ftplib

yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
0____11
yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
2

yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
3
yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
1
yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
5

yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
6
yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
1
yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
8

Lưu ý: Mật khẩu sẽ thay đổi theo thời gian, hãy đảm bảo bạn truy cập trang web của họ để biết thông tin đăng nhập chính xác.Password will change time to time, make sure you visit their website for the correct credentials.

  • Kết nối với máy chủ

Python3

yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
9
yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
1
env.password = 'my_password'
1

env.password = 'my_password'
2
yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
1
env.password = 'my_password'
4

  • Tải lên tệp (để tải lên một tệp, chúng tôi sẽ sử dụng phương thức storBinary ())the File (To upload a file, we will use storbinary() method)

Syntax:  

# Store a file in binary transfer mode
storbinary(command, **)

Python3

env.password = 'my_password'
5
yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
1
env.password = 'my_password'
7

env.password = 'my_password'
8
env.password = 'my_password'
9
# Store a file in binary transfer mode
storbinary(command, **)
0
# Store a file in binary transfer mode
storbinary(command, **)
1
# Store a file in binary transfer mode
storbinary(command, **)
2
# Store a file in binary transfer mode
storbinary(command, **)
3
# Store a file in binary transfer mode
storbinary(command, **)
4

# Store a file in binary transfer mode
storbinary(command, **)
5
# Store a file in binary transfer mode
storbinary(command, **)
6
# Store a file in binary transfer mode
storbinary(command, **)
7
# Store a file in binary transfer mode
storbinary(command, **)
8
# Store a file in binary transfer mode
storbinary(command, **)
3ftp0

  • Nhận danh sách các thư mục bằng phương thức Dir (). Máy chủ thử nghiệm sẽ xóa các tệp sau 30 phút.dir() method. The test server will remove files after 30 minutes.

Python3

Output:  

Hướng dẫn how do i upload files to an ftp server using python? - làm cách nào để tải tệp lên máy chủ ftp bằng python?

  • Tải xuống tệp (để tải xuống một tệp, chúng tôi sẽ sử dụng phương thức retbinary ().the File (To download a file, we will use retrbinary() method.

Python3

env.password = 'my_password'
5
yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
1
env.password = 'my_password'
7

env.password = 'my_password'
8
env.password = 'my_password'
9
# Store a file in binary transfer mode
storbinary(command, **)
0ftp7
# Store a file in binary transfer mode
storbinary(command, **)
2
# Store a file in binary transfer mode
storbinary(command, **)
3
# Store a file in binary transfer mode
storbinary(command, **)
4

# Store a file in binary transfer mode
storbinary(command, **)
5dotgeek.com2dotgeek.com3
# Store a file in binary transfer mode
storbinary(command, **)
8
# Store a file in binary transfer mode
storbinary(command, **)
3dotgeek.com6

  • Nhận danh sách các thư mục bằng phương thức Dir (). Máy chủ thử nghiệm sẽ xóa các tệp sau 30 phút.FTP Connection.

Python3

Tải xuống tệp (để tải xuống một tệp, chúng tôi sẽ sử dụng phương thức retbinary ().

fabfile.py3fabfile.py4fabfile.py5

# Store a file in binary transfer mode
storbinary(command, **)
8
# Store a file in binary transfer mode
storbinary(command, **)
3fabfile.py8

fabfile.py9

Output:  

Hướng dẫn how do i upload files to an ftp server using python? - làm cách nào để tải tệp lên máy chủ ftp bằng python?

Đóng kết nối FTP. 

Python3

import ftplib

yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
0____11
yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
2

yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
3
yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
1
yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
5

yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
6
yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
1
yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
8

yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
9
yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
1
env.password = 'my_password'
1

env.password = 'my_password'
2
yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
1
env.password = 'my_password'
4

Tải lên tệp (để tải lên một tệp, chúng tôi sẽ sử dụng phương thức storBinary ())

env.password = 'my_password'
8
env.password = 'my_password'
9
# Store a file in binary transfer mode
storbinary(command, **)
0
# Store a file in binary transfer mode
storbinary(command, **)
1
# Store a file in binary transfer mode
storbinary(command, **)
2
# Store a file in binary transfer mode
storbinary(command, **)
3
# Store a file in binary transfer mode
storbinary(command, **)
4

# Store a file in binary transfer mode
storbinary(command, **)
5
# Store a file in binary transfer mode
storbinary(command, **)
6
# Store a file in binary transfer mode
storbinary(command, **)
7
# Store a file in binary transfer mode
storbinary(command, **)
8
# Store a file in binary transfer mode
storbinary(command, **)
3ftp0

yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
03
yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
04
yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
05

fabfile.py9

Output:  

Hướng dẫn how do i upload files to an ftp server using python? - làm cách nào để tải tệp lên máy chủ ftp bằng python?

env.password = 'my_password'
5
yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
1
env.password = 'my_password'
7
 

Python3

import ftplib

yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
0____11
yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
2

yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
3
yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
1
yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
5

yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
6
yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
1
yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
8

yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
9
yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
1
env.password = 'my_password'
1

env.password = 'my_password'
2
yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
1
env.password = 'my_password'
4

env.password = 'my_password'
5
yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
1
env.password = 'my_password'
7

Nhận danh sách các thư mục bằng phương thức Dir (). Máy chủ thử nghiệm sẽ xóa các tệp sau 30 phút.

# Store a file in binary transfer mode
storbinary(command, **)
5dotgeek.com2dotgeek.com3
# Store a file in binary transfer mode
storbinary(command, **)
8
# Store a file in binary transfer mode
storbinary(command, **)
3dotgeek.com6

yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
03
yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
04
yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password: 
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip

Done.
Disconnecting from 1.ai... done.
05

Tải xuống tệp (để tải xuống một tệp, chúng tôi sẽ sử dụng phương thức retbinary ().

fabfile.py3fabfile.py4fabfile.py5

# Store a file in binary transfer mode
storbinary(command, **)
8
# Store a file in binary transfer mode
storbinary(command, **)
3fabfile.py8

fabfile.py9

Output:

Hướng dẫn how do i upload files to an ftp server using python? - làm cách nào để tải tệp lên máy chủ ftp bằng python?


Làm cách nào để tải lên một tệp bằng FTP trong Python?

FTP (Giao thức truyền tệp) Để chuyển tệp, 2 kết nối TCP được FTP sử dụng song song: Kết nối kiểm soát và kết nối dữ liệu. Để tải lên và tải xuống tệp, chúng tôi sẽ sử dụng mô -đun ftplib trong Python. Nó là một mô-đun được xây dựng trong Python.use ftplib Module in Python. It is an in-built module in Python.

Làm cách nào để tải tệp lên máy chủ FTP?

Kết nối với máy chủ FTP từ dòng lệnh..
Mở cửa sổ CLI trên máy cục bộ của bạn ..
Nhập lệnh FTP để mở giao thức truyền tệp ..
Nhập mở để mở kết nối giữa máy cục bộ và máy chủ FTP của bạn. ....
Trong dấu nhắc (đến), nhập địa chỉ IP của máy chủ của bạn ..

Làm cách nào để kết nối với máy chủ FTP bằng Python?

Phương pháp FTP phổ biến..
Kết nối (máy chủ [, cổng [, thời gian chờ]]) Kết nối với máy chủ và cổng đã cho.Số cổng mặc định là 21, như được chỉ định bởi đặc tả giao thức FTP.....
Đăng nhập ([Người dùng [, Passwd [, ACCT]]]]) Đăng nhập dưới dạng người dùng đã cho.....
Lấy lại (lệnh [, gọi lại]) Truy xuất một danh sách tệp hoặc thư mục trong chế độ chuyển ASCII ..

Làm cách nào để sử dụng Python để chuyển tệp?

Các bước để sao chép một tệp bằng Python..
Bước 1: Chụp đường dẫn ban đầu.Để bắt đầu, hãy chụp đường dẫn nơi tệp của bạn hiện đang được lưu trữ.....
Bước 2: Chụp đường dẫn đích.Tiếp theo, chụp đường dẫn đích nơi bạn muốn sao chép tệp.....
Bước 3: Sao chép tệp trong Python bằng SHOWIL.copyfile ..