netrc --- xử lý tập tin netrc¶
Source code: Lib/netrc.py
Lớp netrc phân tích cú pháp và đóng gói định dạng tệp netrc được sử dụng bởi chương trình Unix ftp và các máy khách FTP khác.
- class netrc.netrc([file])¶
Một phiên bản
netrchoặc phiên bản lớp con đóng gói dữ liệu từ tệp netrc. Đối số khởi tạo, nếu có, chỉ định tệp cần phân tích cú pháp. Nếu không có đối số nào được đưa ra, tệp.netrctrong thư mục chính của người dùng -- được xác định bởios.path.expanduser()-- sẽ được đọc. Nếu không, ngoại lệFileNotFoundErrorsẽ xuất hiện. Lỗi phân tích cú pháp sẽ đưa raNetrcParseErrorvới thông tin chẩn đoán bao gồm tên tệp, số dòng và mã thông báo kết thúc.Nếu không có đối số nào được chỉ định trên hệ thống POSIX thì sự hiện diện của mật khẩu trong tệp
.netrcsẽ tạo raNetrcParseErrornếu quyền sở hữu hoặc quyền đối với tệp không an toàn (thuộc sở hữu của người dùng không phải là người dùng đang chạy quy trình hoặc có thể truy cập để đọc hoặc ghi bởi bất kỳ người dùng nào khác). Điều này thực hiện hành vi bảo mật tương đương với hành vi của ftp và các chương trình khác sử dụng.netrc. Việc kiểm tra bảo mật như vậy không khả dụng trên các nền tảng không hỗ trợos.getuid().Thay đổi trong phiên bản 3.4: Đã thêm kiểm tra quyền POSIX.
Thay đổi trong phiên bản 3.7:
os.path.expanduser()được sử dụng để tìm vị trí của tệp.netrckhi file không được chuyển làm đối số.Thay đổi trong phiên bản 3.10:
netrcthử mã hóa UTF-8 trước khi sử dụng mã hóa cụ thể theo ngôn ngữ. Mục nhập trong tệp netrc không còn cần chứa tất cả các mã thông báo. Giá trị của mã thông báo bị thiếu mặc định là một chuỗi trống. Tất cả các mã thông báo và giá trị của chúng hiện có thể chứa các ký tự tùy ý, như ký tự khoảng trắng và không phải ASCII. Nếu tên đăng nhập là ẩn danh, nó sẽ không kích hoạt kiểm tra bảo mật.
- exception netrc.NetrcParseError¶
Ngoại lệ do lớp
netrcđưa ra khi gặp lỗi cú pháp trong văn bản nguồn. Các trường hợp ngoại lệ này cung cấp ba thuộc tính thú vị:- msg¶
Giải thích bằng văn bản về lỗi.
- filename¶
Tên của tập tin nguồn.
- lineno¶
Số dòng mà lỗi được tìm thấy.
đối tượng netrc¶
Một phiên bản netrc có các phương thức sau:
- netrc.authenticators(host)¶
Trả về bộ xác thực gồm 3 bộ
(login, account, password)cho host. Nếu tệp netrc không chứa mục nhập cho máy chủ đã cho, hãy trả về bộ dữ liệu được liên kết với mục nhập 'mặc định'. Nếu không có máy chủ phù hợp cũng như mục nhập mặc định, hãy trả vềNone.
- netrc.__repr__()¶
Kết xuất dữ liệu lớp dưới dạng chuỗi ở định dạng tệp netrc. (Việc này sẽ loại bỏ các nhận xét và có thể sắp xếp lại các mục nhập.)
Các phiên bản của netrc có các biến phiên bản công khai:
- netrc.hosts¶
Từ điển ánh xạ tên máy chủ thành bộ dữ liệu
(login, account, password). Mục nhập 'mặc định', nếu có, được thể hiện dưới dạng máy chủ giả theo tên đó.
- netrc.macros¶
Từ điển ánh xạ tên macro vào danh sách chuỗi.