Hướng dẫn ftp file watcher python - ftp file watcher python

FTP protocol: Một giao thức khá phổ biến [trước năm 2010], được nhiều lập trình viên ưa thích sử dụng cho việc lưu trữ file để chia sẻ giữa các hệ thống.: Một giao thức khá phổ biến [trước năm 2010], được nhiều lập trình viên ưa thích sử dụng cho việc lưu trữ file để chia sẻ giữa các hệ thống.: Một giao thức khá phổ biến [trước năm 2010], được nhiều lập trình viên ưa thích sử dụng cho việc lưu trữ file để chia sẻ giữa các hệ thống.

Nội dung chính

  • Dựng một ftp server
  • Xây dựng FTP-CLIENT bằng thư viện ftplib
  • Khởi tạo kết nối
  • Xem thông số của ftp-server
  • Các câu lệnh liên quan đến thư mục/file.
  • Hiển thị thư mục hiện tại
  • Liệt kê các thư mục/file trong thư mục kết nối đến
  • Di chuyển đến thư mục khác từ thư mục cha:
  • Di chuyển về thư mục trước đó.
  • Tạo thư mục mới
  • Xóa thư mục
  • Lệnh liên quan đến file.
  • Kiểm tra dung lượng file
  • Upload file.
  • Download file
  • Đóng kết nối.

Hiện tại có vẻ như đã lỗi thời nhưng đâu đó vẫn còn những thế thống "già" vẫn sử dụng và "biết đâu bất ngờ", một ngày nào đó chúng ta sẽ phải làm việc với nó.

Tôi đã từng gặp một case như vậy, hệ thống của khách hàng là Windows Server, phương án share file hiện tại của họ là sử dụng FTP Server.

Nhiệm vụ của tôi là truy nhập vào server của khách hàng, di chuyển đến đúng thư mục mà họ đã chỉ định từ trước, tìm kiếm xem có file nào mới được tạo [do khách hàng đẩy vào], download file đó về. Tiến hành xử lý sau đó lại truy nhập vào ftp server và upload file sau xử lý lên một thư mục mà họ chỉ định sẵn, đôi khi cần tạo mới một thư mục để thực hiện.

Tôi đã giải quyết bài toán trên bằng cách sử dụng thư viện ftplib của python. Mời các bạn xem listing code từng phần của tôi dưới đây.

Dựng một ftp server

Để tiếp tục với bài viết, nếu các bạn muốn thực hiện demo theo code của tôi, các bạn có thể tự khởi tạo cho mình một ftp-server theo các hướng dẫn.

Để xây dựng một FTP Server, trên Windows rất dễ, sử dụng FileZilla Server: //quantrimang.com/huong-dan-thiet-lap-ftp-server-ca-nhan-bang-filezilla-84531

Với Ubuntu, cần thực hiện theo hướng dẫn [nhớ chọn Authenticated]: //ubuntu.com/server/docs/service-ftp

Đặc điểm FTP Server: FTP Server: FTP Server:

  • Lưu trữ file
  • Quản lý user/password
  • Phân quyền truy nhập
  • Cung cấp kết nối qua một cổng bất kỳ [default: 21]:
    • Kết nối nặc danh.
    • Kết nối định danh: user/password.

FTP Client:

  • Chương trình trên máy người dùng, sử dụng để kết nối đến FTP Server

Xây dựng FTP-CLIENT bằng thư viện ftplib

Trong Python, muốn kết nối FTP, sử dụng thư viện ftplib, đây là thư viện mặc định trong hệ thống [có sau khi cài đặt python] nên không cần cài thêm.

Khởi tạo kết nối

from ftplib import FTP

ftp_ip = "your-host-ip"
ftp_usr = "your-username"
ftp_pwd = "your-password"


ftp_client = FTP[ftp_ip]
ftp_client.login[user=ftp_usr, passwd = ftp_pwd]

Xem thông số của ftp-server

Các câu lệnh liên quan đến thư mục/file.

Xem thông số của ftp-server

ftp_client.welcome

Các câu lệnh liên quan đến thư mục/file.

Các câu lệnh liên quan đến thư mục/file.

Hiển thị thư mục hiện tại


ftp_client.pwd[]

Liệt kê các thư mục/file trong thư mục kết nối đến

Di chuyển đến thư mục khác từ thư mục cha:

Liệt kê các thư mục/file trong thư mục kết nối đến

print[ftp_client.retrlines['LIST']]
-rw-r--r-- 1 ftp ftp          11234 May 09 21:39 Doc1.docx
drwxr-xr-x 1 ftp ftp              0 May 09 23:21 Folder1
drwxr-xr-x 1 ftp ftp              0 May 09 21:26 Folder2
-rw-r--r-- 1 ftp ftp           1085 May 09 21:49 sample.ipynb
226 Successfully transferred "/"

Di chuyển đến thư mục khác từ thư mục cha:

ftp_client.cwd["Folder1"]
'250 CWD successful. "/Folder1" is current directory.'

Di chuyển về thư mục trước đó.

Di chuyển về thư mục trước đó.


ftp_client.cwd[".."]

Tạo thư mục mới

Tạo thư mục mới


ftp_client.mkd["NewFolder"]

'/NewFolder'

Xóa thư mục

ftp_client.welcome
0
ftp_client.welcome
1

Lệnh liên quan đến file.

Kiểm tra dung lượng file

ftp_client.welcome
2
ftp_client.welcome
3

Upload file.

Download file

ftp_client.welcome
4
ftp_client.welcome
5

Upload file.

  • Download file
  • Đóng kết nối.
ftp_client.welcome
6
ftp_client.welcome
7

Download file

  • Đóng kết nối.
  • Hiện tại có vẻ như đã lỗi thời nhưng đâu đó vẫn còn những thế thống "già" vẫn sử dụng và "biết đâu bất ngờ", một ngày nào đó chúng ta sẽ phải làm việc với nó.
ftp_client.welcome
8
ftp_client.welcome
9

Đóng kết nối.

Hiện tại có vẻ như đã lỗi thời nhưng đâu đó vẫn còn những thế thống "già" vẫn sử dụng và "biết đâu bất ngờ", một ngày nào đó chúng ta sẽ phải làm việc với nó.


ftp_client.pwd[]
0

Tôi đã từng gặp một case như vậy, hệ thống của khách hàng là Windows Server, phương án share file hiện tại của họ là sử dụng FTP Server.

Nhiệm vụ của tôi là truy nhập vào server của khách hàng, di chuyển đến đúng thư mục mà họ đã chỉ định từ trước, tìm kiếm xem có file nào mới được tạo [do khách hàng đẩy vào], download file đó về. Tiến hành xử lý sau đó lại truy nhập vào ftp server và upload file sau xử lý lên một thư mục mà họ chỉ định sẵn, đôi khi cần tạo mới một thư mục để thực hiện.

Bài Viết Liên Quan

Chủ Đề