Cách đọc dữ liệu từ dòng lệnh trong python?

Giao diện trình thông dịch tương tự như giao diện của UNIX shell, nhưng cung cấp một số phương thức triệu gọi bổ sung

  • Khi được gọi với đầu vào tiêu chuẩn được kết nối với thiết bị tty, nó sẽ nhắc các lệnh và thực thi chúng cho đến khi một EOF (ký tự cuối tệp, bạn có thể tạo ký tự đó bằng Ctrl-D trên UNIX hoặc Ctrl-Z, Enter trên Windows) là

  • Khi được gọi với đối số tên tệp hoặc với tệp làm đầu vào tiêu chuẩn, nó sẽ đọc và thực thi tập lệnh từ tệp đó

  • Khi được gọi với đối số tên thư mục, nó sẽ đọc và thực thi một tập lệnh có tên thích hợp từ thư mục đó

  • Khi được gọi bằng

    python myscript.py
    
    82, nó sẽ thực thi (các) câu lệnh Python được cung cấp dưới dạng lệnh. Lệnh ở đây có thể chứa nhiều câu lệnh được phân tách bằng dòng mới. Khoảng trắng hàng đầu có ý nghĩa quan trọng trong các câu lệnh Python

  • Khi được gọi bằng

    python myscript.py
    
    83, mô-đun đã cho nằm trên đường dẫn mô-đun Python và được thực thi dưới dạng tập lệnh

Ở chế độ không tương tác, toàn bộ đầu vào được phân tích cú pháp trước khi được thực thi

Một tùy chọn giao diện kết thúc danh sách các tùy chọn mà trình thông dịch sử dụng, tất cả các đối số liên tiếp sẽ kết thúc bằng ____00 – lưu ý rằng phần tử đầu tiên, chỉ số dưới 0 (

python myscript.py
1), là một chuỗi phản ánh nguồn của chương trình

-c

Thực thi mã Python trong lệnh. lệnh có thể là một hoặc nhiều câu lệnh được phân tách bằng dòng mới, với khoảng trắng đầu đáng kể như trong mã mô-đun thông thường

Nếu tùy chọn này được đưa ra, phần tử đầu tiên của

python myscript.py
0 sẽ là
python myscript.py
3 và thư mục hiện tại sẽ được thêm vào đầu của
python myscript.py
4 (cho phép nhập các mô-đun trong thư mục đó dưới dạng mô-đun cấp cao nhất)

Tăng sự kiện kiểm tra

python myscript.py
5 với đối số
python myscript.py
6.

-m

Tìm kiếm mô-đun có tên

python myscript.py
4 và thực hiện nội dung của mô-đun đó dưới dạng mô-đun
python myscript.py
8

Vì đối số là tên mô-đun, bạn không được cung cấp phần mở rộng tệp (

python myscript.py
9). Tên mô-đun phải là một tên mô-đun Python tuyệt đối hợp lệ, nhưng việc triển khai có thể không phải lúc nào cũng thực thi điều này (e. g. nó có thể cho phép bạn sử dụng tên có dấu gạch nối)

Tên gói (bao gồm cả gói không gian tên) cũng được phép. Khi một tên gói được cung cấp thay vì một mô-đun thông thường, trình thông dịch sẽ thực thi

python myscript.py
00 làm mô-đun chính. Hành vi này cố ý tương tự như việc xử lý các thư mục và tệp nén được chuyển đến trình thông dịch dưới dạng đối số tập lệnh

Ghi chú

Không thể sử dụng tùy chọn này với các mô-đun tích hợp và mô-đun mở rộng được viết bằng C, vì chúng không có tệp mô-đun Python. Tuy nhiên, nó vẫn có thể được sử dụng cho các mô-đun được biên dịch trước, ngay cả khi tệp nguồn gốc không có sẵn

Nếu tùy chọn này được cung cấp, phần tử đầu tiên của

python myscript.py
0 sẽ là đường dẫn đầy đủ đến tệp mô-đun (trong khi tệp mô-đun đang được định vị, phần tử đầu tiên sẽ được đặt thành
python myscript.py
02). Như với tùy chọn
python myscript.py
03, thư mục hiện tại sẽ được thêm vào đầu của
python myscript.py
4

Tùy chọn

python myscript.py
05 có thể được sử dụng để chạy tập lệnh ở chế độ biệt lập trong đó
python myscript.py
4 không chứa thư mục hiện tại cũng như thư mục gói trang web của người dùng. Tất cả các biến môi trường của
python myscript.py
07 cũng bị bỏ qua

Nhiều mô-đun thư viện tiêu chuẩn chứa mã được gọi khi thực thi dưới dạng tập lệnh. Một ví dụ là mô-đun

python myscript.py
08

python myscript.py
0

Tăng sự kiện kiểm tra

python myscript.py
09 với đối số
python myscript.py
10.

Xem thêm

python myscript.py
11

Chức năng tương đương có sẵn trực tiếp cho mã Python

PEP 338 – Thực thi các mô-đun dưới dạng tập lệnh

Đã thay đổi trong phiên bản 3. 1. Cung cấp tên gói để chạy mô-đun con

python myscript.py
8.

Đã thay đổi trong phiên bản 3. 4. các gói không gian tên cũng được hỗ trợ

-

Đọc các lệnh từ đầu vào tiêu chuẩn (

python myscript.py
13). Nếu đầu vào tiêu chuẩn là một thiết bị đầu cuối, thì có nghĩa là
python myscript.py
14

Nếu tùy chọn này được đưa ra, phần tử đầu tiên của

python myscript.py
0 sẽ là
python myscript.py
16 và thư mục hiện tại sẽ được thêm vào đầu của
python myscript.py
4

Tăng sự kiện kiểm tra

python myscript.py
18 không có đối số.

Thực thi mã Python có trong tập lệnh, mã này phải là đường dẫn hệ thống tệp (tuyệt đối hoặc tương đối) đề cập đến tệp Python, thư mục chứa tệp

python myscript.py
19 hoặc tệp zip chứa tệp
python myscript.py
19

Nếu tùy chọn này được đưa ra, phần tử đầu tiên của

python myscript.py
0 sẽ là tên tập lệnh như được cung cấp trên dòng lệnh

Nếu tên tập lệnh đề cập trực tiếp đến tệp Python, thì thư mục chứa tệp đó sẽ được thêm vào đầu

python myscript.py
4 và tệp được thực thi dưới dạng mô-đun
python myscript.py
8

Nếu tên tập lệnh đề cập đến một thư mục hoặc tệp zip, thì tên tập lệnh sẽ được thêm vào đầu

python myscript.py
4 và tệp
python myscript.py
19 ở vị trí đó được thực thi dưới dạng mô-đun
python myscript.py
8

Tùy chọn

python myscript.py
05 có thể được sử dụng để chạy tập lệnh ở chế độ biệt lập trong đó
python myscript.py
4 không chứa thư mục của tập lệnh cũng như thư mục gói trang web của người dùng. Tất cả các biến môi trường của
python myscript.py
07 cũng bị bỏ qua

Tăng sự kiện kiểm tra

python myscript.py
10 với đối số
python myscript.py
11.

Xem thêm

python myscript.py
12

Chức năng tương đương có sẵn trực tiếp cho mã Python

Nếu không có tùy chọn giao diện nào được cung cấp, thì có nghĩa là

python myscript.py
14,
python myscript.py
1 là một chuỗi rỗng (
python myscript.py
15) và thư mục hiện tại sẽ được thêm vào đầu của
python myscript.py
4. Ngoài ra, tính năng hoàn thành tab và chỉnh sửa lịch sử được bật tự động, nếu có trên nền tảng của bạn (xem Cấu hình dòng đọc ).

Xem thêm

Gọi thông dịch viên

Đã thay đổi trong phiên bản 3. 4. Tự động bật hoàn thành tab và chỉnh sửa lịch sử.

1. 1. 2. Tùy chọn chung¶

-?-h--trợ giúp

In một mô tả ngắn về tất cả các tùy chọn dòng lệnh và các biến môi trường tương ứng rồi thoát

--help-env

In một mô tả ngắn về các biến môi trường dành riêng cho Python và thoát

Mới trong phiên bản 3. 11

--help-xoptions

In mô tả về các tùy chọn

python myscript.py
17 dành riêng cho triển khai và thoát

Mới trong phiên bản 3. 11

--help-all

In đầy đủ thông tin sử dụng và thoát

Mới trong phiên bản 3. 11

-V--phiên bản

In số phiên bản Python và thoát. Đầu ra ví dụ có thể là

python myscript.py
1

Khi được cung cấp hai lần, hãy in thêm thông tin về bản dựng, chẳng hạn như

python myscript.py
0

Mới trong phiên bản 3. 6. Tùy chọn

python myscript.py
18.

1. 1. 3. Tùy chọn khác¶

-b

Đưa ra cảnh báo khi so sánh

python myscript.py
19 hoặc
python myscript.py
30 với
python myscript.py
31 hoặc
python myscript.py
19 với
python myscript.py
33. Đưa ra lỗi khi tùy chọn được đưa ra hai lần (______534)

Đã thay đổi trong phiên bản 3. 5. Ảnh hưởng đến việc so sánh

python myscript.py
19 với
python myscript.py
33.

-B

Nếu được cung cấp, Python sẽ không cố ghi các tệp

python myscript.py
37 khi nhập các mô-đun nguồn. Xem thêm
python myscript.py
38

--check-hash-based-pycs mặc định. luôn luôn. không bao giờ

Kiểm soát hành vi xác thực của tệp

python myscript.py
37 dựa trên hàm băm. Xem Hủy hiệu lực mã byte được lưu trong bộ nhớ cache . Khi được đặt thành
python myscript.py
30, các tệp bộ đệm mã byte dựa trên hàm băm đã chọn và không được chọn sẽ được xác thực theo ngữ nghĩa mặc định của chúng. Khi được đặt thành
python myscript.py
31, tất cả các tệp
python myscript.py
37 dựa trên hàm băm, dù được chọn hay không được chọn, đều được xác thực đối với tệp nguồn tương ứng của chúng. Khi được đặt thành
python myscript.py
33, các tệp
python myscript.py
37 dựa trên hàm băm không được xác thực đối với các tệp nguồn tương ứng của chúng.

Ngữ nghĩa của các tệp

python myscript.py
37 dựa trên dấu thời gian không bị ảnh hưởng bởi tùy chọn này

-d

Bật đầu ra gỡ lỗi trình phân tích cú pháp (chỉ dành cho chuyên gia, tùy thuộc vào các tùy chọn biên dịch). Xem thêm

python myscript.py
36

-E

Bỏ qua tất cả các biến môi trường

python myscript.py
07, e. g.
python myscript.py
38 và
python myscript.py
39, có thể được đặt

Xem thêm các tùy chọn

python myscript.py
820 và
python myscript.py
05 (tách biệt)

-i

Khi tập lệnh được chuyển làm đối số đầu tiên hoặc tùy chọn

python myscript.py
03 được sử dụng, hãy vào chế độ tương tác sau khi thực thi tập lệnh hoặc lệnh, ngay cả khi
python myscript.py
13 không có vẻ là thiết bị đầu cuối. Tệp
python myscript.py
824 không được đọc

Điều này có thể hữu ích để kiểm tra các biến toàn cục hoặc dấu vết ngăn xếp khi tập lệnh phát sinh ngoại lệ. Xem thêm

python myscript.py
825

-tôi

Chạy Python ở chế độ biệt lập. Điều này cũng ngụ ý các tùy chọn

python myscript.py
826,
python myscript.py
820 và
python myscript.py
828

Ở chế độ biệt lập,

python myscript.py
4 không chứa thư mục của tập lệnh cũng như thư mục gói trang web của người dùng. Tất cả các biến môi trường của
python myscript.py
07 cũng bị bỏ qua. Các hạn chế khác có thể được áp dụng để ngăn người dùng tiêm mã độc

Mới trong phiên bản 3. 4

-O

Xóa các câu khẳng định và bất kỳ mã nào có điều kiện dựa trên giá trị của

python myscript.py
831. Tăng cường tên tệp cho các tệp đã biên dịch ( bytecode ) bằng cách thêm
python myscript.py
832 trước phần mở rộng
python myscript.py
37 (xem PEP 488). Xem thêm
python myscript.py
834.

Đã thay đổi trong phiên bản 3. 5. Sửa đổi tên tệp

python myscript.py
37 theo PEP 488.

-OO

Làm

python myscript.py
836 và cũng loại bỏ các chuỗi tài liệu. Tăng cường tên tệp cho các tệp đã biên dịch ( mã byte ) bằng cách thêm
python myscript.py
837 trước phần mở rộng
python myscript.py
37 (xem PEP 488).

Đã thay đổi trong phiên bản 3. 5. Sửa đổi tên tệp

python myscript.py
37 theo PEP 488.

-P

Không thêm một đường dẫn có khả năng không an toàn tới

python myscript.py
4

  • Dòng lệnh

    python myscript.py
    
    01. Đừng thêm thư mục làm việc hiện tại

  • Dòng lệnh

    python myscript.py
    
    02. Đừng thêm thư mục của tập lệnh. Nếu đó là một liên kết tượng trưng, ​​​​hãy giải quyết các liên kết tượng trưng

  • Dòng lệnh

    python myscript.py
    
    03 và
    python myscript.py
    
    04 (REPL). Đừng thêm vào một chuỗi trống, có nghĩa là thư mục làm việc hiện tại

Xem thêm biến môi trường

python myscript.py
05 và các tùy chọn
python myscript.py
826 và
python myscript.py
05 (tách biệt)

Mới trong phiên bản 3. 11

-q

Không hiển thị thông báo bản quyền và phiên bản ngay cả trong chế độ tương tác

Mới trong phiên bản 3. 2

-R

Bật băm ngẫu nhiên. Tùy chọn này chỉ có tác dụng nếu biến môi trường

python myscript.py
08 được đặt thành
python myscript.py
09, vì ngẫu nhiên hàm băm được bật theo mặc định

Trên các phiên bản trước của Python, tùy chọn này bật ngẫu nhiên hàm băm, để các giá trị

python myscript.py
10 của các đối tượng str và bytes được "muối" với một giá trị ngẫu nhiên không thể đoán trước. Mặc dù chúng không đổi trong một quy trình Python riêng lẻ, nhưng chúng không thể dự đoán được giữa các lần gọi Python lặp đi lặp lại

Ngẫu nhiên hóa hàm băm nhằm mục đích cung cấp khả năng bảo vệ chống lại tấn công từ chối dịch vụ gây ra bởi các đầu vào được lựa chọn cẩn thận nhằm khai thác hiệu suất trong trường hợp xấu nhất của cấu trúc chính tả, độ phức tạp O(n2). xem http. //www. chứng chỉ. org/advisory/ocert-2011-003. html để biết chi tiết

python myscript.py
08 cho phép bạn đặt giá trị cố định cho bí mật hạt băm

Đã thay đổi trong phiên bản 3. 7. Tùy chọn không còn bị bỏ qua.

Mới trong phiên bản 3. 2. 3

-s

Đừng thêm

python myscript.py
12 vào
python myscript.py
4

Xem thêm

PEP 370 – Thư mục gói trang web cho mỗi người dùng

-S

Vô hiệu hóa việc nhập mô-đun

python myscript.py
14 và các thao tác phụ thuộc vào trang web của
python myscript.py
4 mà nó đòi hỏi. Đồng thời vô hiệu hóa các thao tác này nếu sau đó
python myscript.py
14 được nhập rõ ràng (gọi
python myscript.py
17 nếu bạn muốn chúng được kích hoạt)

-u

Buộc các luồng thiết bị xuất chuẩn và thiết bị xuất chuẩn không bị chặn. Tùy chọn này không ảnh hưởng đến luồng stdin

Xem thêm

python myscript.py
18

Đã thay đổi trong phiên bản 3. 7. Lớp văn bản của luồng thiết bị xuất chuẩn và thiết bị xuất chuẩn hiện không có bộ đệm.

-v

In thông báo mỗi khi mô-đun được khởi tạo, hiển thị vị trí (tên tệp hoặc mô-đun tích hợp) mà từ đó mô-đun được tải. Khi được cung cấp hai lần (

python myscript.py
19), hãy in thông báo cho từng tệp được chọn khi tìm kiếm mô-đun. Cũng cung cấp thông tin về dọn dẹp mô-đun khi thoát

Đã thay đổi trong phiên bản 3. 10. Mô-đun

python myscript.py
14 báo cáo các đường dẫn dành riêng cho trang web và các tệp
python myscript.py
21 đang được xử lý.

Xem thêm

python myscript.py
22

-W arg

kiểm soát cảnh báo. Bộ máy cảnh báo của Python theo mặc định in các thông báo cảnh báo tới

python myscript.py
23

Các cài đặt đơn giản nhất áp dụng vô điều kiện một hành động cụ thể cho tất cả các cảnh báo do một quy trình đưa ra (ngay cả những cảnh báo bị bỏ qua theo mặc định)

python myscript.py
1

Tên hành động có thể được viết tắt theo ý muốn và trình thông dịch sẽ phân giải chúng thành tên hành động thích hợp. Ví dụ:

python myscript.py
24 giống như
python myscript.py
25

Hình thức đầy đủ của lập luận là

python myscript.py
3

Các trường trống phù hợp với tất cả các giá trị; . Ví dụ:

python myscript.py
26 bỏ qua tất cả các cảnh báo DeprecationWarning

Trường hành động như đã giải thích ở trên nhưng chỉ áp dụng cho các cảnh báo khớp với các trường còn lại

Trường thông báo phải khớp với toàn bộ thông báo cảnh báo;

Trường danh mục khớp với danh mục cảnh báo (ví dụ:.

python myscript.py
27). Đây phải là một tên lớp;

Trường mô-đun khớp với tên mô-đun (đủ điều kiện);

Trường lineno khớp với số dòng, trong đó số 0 khớp với tất cả các số dòng và do đó tương đương với số dòng bị bỏ qua

Có thể đưa ra nhiều tùy chọn

python myscript.py
28; . Các tùy chọn
python myscript.py
28 không hợp lệ bị bỏ qua (tuy nhiên, một thông báo cảnh báo được in về các tùy chọn không hợp lệ khi cảnh báo đầu tiên được đưa ra)

Các cảnh báo cũng có thể được kiểm soát bằng cách sử dụng biến môi trường

python myscript.py
30 và từ bên trong chương trình Python bằng mô-đun
python myscript.py
31. Ví dụ: hàm
python myscript.py
32 có thể được sử dụng để sử dụng biểu thức chính quy trên thông báo cảnh báo

Xem Bộ lọc Cảnh báoMô tả Bộ lọc Cảnh báo để biết .

-x

Bỏ qua dòng đầu tiên của nguồn, cho phép sử dụng các dạng không phải Unix của

python myscript.py
33. Điều này chỉ dành cho một vụ hack cụ thể của DOS

-X

Dành riêng cho các tùy chọn triển khai cụ thể khác nhau. CPython hiện xác định các giá trị có thể sau

  • python myscript.py
    
    34 để kích hoạt
    python myscript.py
    
    35;

  • python myscript.py
    
    36 để xuất tổng số tham chiếu và số khối bộ nhớ đã sử dụng khi chương trình kết thúc hoặc sau mỗi câu lệnh trong trình thông dịch tương tác. Điều này chỉ hoạt động trên bản dựng gỡ lỗi .

  • python myscript.py
    
    37 để bắt đầu theo dõi phân bổ bộ nhớ Python bằng mô-đun
    python myscript.py
    
    38. Theo mặc định, chỉ khung hình gần đây nhất được lưu trữ trong truy nguyên của dấu vết. Sử dụng
    python myscript.py
    
    39 để bắt đầu theo dõi với giới hạn truy nguyên của các khung NFRAME. Xem
    python myscript.py
    
    40 để biết thêm thông tin

  • python myscript.py
    
    41 định cấu hình giới hạn độ dài chuyển đổi chuỗi số nguyên . Xem thêm
    python myscript.py
    
    42.

  • python myscript.py
    
    43 để hiển thị mỗi lần nhập mất bao lâu. Nó hiển thị tên mô-đun, thời gian tích lũy (bao gồm nhập lồng nhau) và thời gian tự (không bao gồm nhập lồng nhau). Lưu ý rằng đầu ra của nó có thể bị hỏng trong ứng dụng đa luồng. Cách sử dụng thông thường là
    python myscript.py
    
    44. Xem thêm
    python myscript.py
    
    45

  • ____046. bật Chế độ phát triển Python , giới thiệu các kiểm tra thời gian chạy bổ sung quá tốn kém để được bật theo mặc định.

  • python myscript.py
    
    47 bật Chế độ Python UTF-8 .
    python myscript.py
    
    48 vô hiệu hóa rõ ràng Chế độ Python UTF-8 (ngay cả khi nó sẽ tự động kích hoạt).

  • python myscript.py
    
    49 cho phép ghi các tệp
    python myscript.py
    
    37 vào một cây song song bắt nguồn từ thư mục đã cho thay vì vào cây mã. Xem thêm
    python myscript.py
    
    51

  • python myscript.py
    
    52 phát hành một
    python myscript.py
    
    53 khi mã hóa mặc định dành riêng cho ngôn ngữ được sử dụng để mở tệp. Xem thêm
    python myscript.py
    
    54

  • python myscript.py
    
    55 vô hiệu hóa việc bao gồm các bảng ánh xạ thông tin vị trí bổ sung (dòng kết thúc, phần bù cột bắt đầu và phần bù cột kết thúc) cho mọi lệnh trong các đối tượng mã. Điều này rất hữu ích khi muốn có các đối tượng mã nhỏ hơn và tệp pyc cũng như loại bỏ các chỉ báo vị trí trực quan bổ sung khi trình thông dịch hiển thị truy vết. Xem thêm
    python myscript.py
    
    56

  • python myscript.py
    
    57 xác định xem các mô-đun bị đóng băng có bị máy móc nhập khẩu bỏ qua hay không. Giá trị "bật" có nghĩa là chúng được nhập và "tắt" có nghĩa là chúng bị bỏ qua. Giá trị mặc định là “bật” nếu đây là Python đã cài đặt (trường hợp bình thường). Nếu nó đang được phát triển (chạy từ cây nguồn) thì mặc định là “tắt”. Lưu ý rằng các mô-đun bị đóng băng “importlib_bootstrap” và “importlib_bootstrap_external” luôn được sử dụng, ngay cả khi cờ này được đặt thành “tắt”

Nó cũng cho phép truyền các giá trị tùy ý và truy xuất chúng thông qua từ điển

python myscript.py
58

Đã thay đổi trong phiên bản 3. 2. Tùy chọn

python myscript.py
17 đã được thêm vào.

Mới trong phiên bản 3. 3. Tùy chọn

python myscript.py
34.

Mới trong phiên bản 3. 4. Các tùy chọn

python myscript.py
36 và
python myscript.py
37.

Mới trong phiên bản 3. 6. Tùy chọn

python myscript.py
63.

Mới trong phiên bản 3. 7. Các tùy chọn

python myscript.py
43,
python myscript.py
46 và
python myscript.py
47.

Mới trong phiên bản 3. 8. Tùy chọn

python myscript.py
67. Tùy chọn
python myscript.py
46 hiện ghi nhật ký ngoại lệ
python myscript.py
69 trong hàm hủy
python myscript.py
70.

Đã thay đổi trong phiên bản 3. 9. Sử dụng tùy chọn

python myscript.py
46, kiểm tra các đối số mã hóa và lỗi trên các hoạt động mã hóa và giải mã chuỗi.

Tùy chọn

python myscript.py
63 đã bị xóa

Mới trong phiên bản 3. 10. Tùy chọn

python myscript.py
52.

Không dùng nữa kể từ phiên bản 3. 9, đã bị xóa trong phiên bản 3. 10. Tùy chọn

python myscript.py
74.

Mới trong phiên bản 3. 11. Tùy chọn

python myscript.py
55.

Mới trong phiên bản 3. 11. Tùy chọn

python myscript.py
57.

Mới trong phiên bản 3. 11. Tùy chọn

python myscript.py
41.

1. 1. 4. Các tùy chọn bạn không nên sử dụng¶

-J

Dành riêng cho Jython sử dụng

1. 2. Biến môi trường¶

Các biến môi trường này ảnh hưởng đến hành vi của Python, chúng được xử lý trước khi chuyển đổi dòng lệnh khác với -E hoặc -I. Theo thông lệ, các công tắc dòng lệnh sẽ ghi đè các biến môi trường khi có xung đột

PYTHONHOME

Thay đổi vị trí của các thư viện Python tiêu chuẩn. Theo mặc định, các thư viện được tìm kiếm trong

python myscript.py
78 và
python myscript.py
79, trong đó
python myscript.py
80 và
python myscript.py
81 là các thư mục phụ thuộc vào cài đặt, cả hai đều được đặt mặc định là
python myscript.py
82

Khi

python myscript.py
39 được đặt thành một thư mục, giá trị của nó sẽ thay thế cả
python myscript.py
80 và
python myscript.py
81. Để chỉ định các giá trị khác nhau cho những giá trị này, hãy đặt
python myscript.py
39 thành
python myscript.py
87

PYTHONPATH

Tăng cường đường dẫn tìm kiếm mặc định cho các tệp mô-đun. Định dạng giống như của shell

python myscript.py
88. một hoặc nhiều tên đường dẫn thư mục được phân tách bằng
python myscript.py
89 (e. g. dấu hai chấm trên Unix hoặc dấu chấm phẩy trên Windows). Các thư mục không tồn tại được âm thầm bỏ qua

Ngoài các thư mục thông thường, các mục nhập

python myscript.py
38 riêng lẻ có thể đề cập đến các tệp zip chứa các mô-đun Python thuần túy (ở dạng nguồn hoặc dạng biên dịch). Không thể nhập mô-đun mở rộng từ tệp zip

Đường dẫn tìm kiếm mặc định phụ thuộc vào cài đặt, nhưng thường bắt đầu bằng

python myscript.py
78 (xem
python myscript.py
39 ở trên). Nó luôn được thêm vào
python myscript.py
38

Một thư mục bổ sung sẽ được chèn vào đường dẫn tìm kiếm phía trước

python myscript.py
38 như được mô tả ở trên trong Tùy chọn giao diện . Đường dẫn tìm kiếm có thể được thao tác từ bên trong chương trình Python dưới dạng biến
python myscript.py
4.

PYTHONSAFEPATH

Nếu điều này được đặt thành một chuỗi không trống, thì đừng thêm đường dẫn có khả năng không an toàn vào

python myscript.py
4. xem tùy chọn
python myscript.py
820 để biết chi tiết

Mới trong phiên bản 3. 11

PYTHONPLATLIBDIR

Nếu điều này được đặt thành một chuỗi không trống, nó sẽ ghi đè giá trị

python myscript.py
98

Mới trong phiên bản 3. 9

PYTHONSTARTUP

Nếu đây là tên của một tệp có thể đọc được, các lệnh Python trong tệp đó sẽ được thực thi trước khi lời nhắc đầu tiên được hiển thị trong chế độ tương tác. Tệp được thực thi trong cùng một không gian tên nơi các lệnh tương tác được thực thi sao cho các đối tượng được xác định hoặc nhập trong đó có thể được sử dụng mà không cần trình độ trong phiên tương tác. Bạn cũng có thể thay đổi lời nhắc

python myscript.py
99 và
python myscript.py
000 và dấu móc
python myscript.py
001 trong tệp này

Tăng sự kiện kiểm tra

python myscript.py
002 với tên tệp làm đối số khi được gọi khi khởi động.

PYTHONOPTIMIZE

Nếu điều này được đặt thành một chuỗi không trống, nó tương đương với việc chỉ định tùy chọn

python myscript.py
836. Nếu được đặt thành số nguyên, nó tương đương với việc chỉ định
python myscript.py
836 nhiều lần

PYTHONBREAKPOINT

Nếu điều này được đặt, nó sẽ đặt tên cho một cuộc gọi có thể sử dụng ký hiệu đường chấm chấm. Mô-đun chứa khả năng gọi được sẽ được nhập và sau đó khả năng gọi được sẽ được chạy theo cách triển khai mặc định của

python myscript.py
005, bản thân nó được gọi bởi
python myscript.py
006 tích hợp. Nếu không được đặt hoặc đặt thành chuỗi trống, nó tương đương với giá trị “pdb. set_trace”. Đặt điều này thành chuỗi “0” khiến việc triển khai mặc định của
python myscript.py
005 không làm được gì ngoài việc trả về ngay lập tức

Mới trong phiên bản 3. 7

PYTHONDEBUG

Nếu điều này được đặt thành một chuỗi không trống, nó tương đương với việc chỉ định tùy chọn

python myscript.py
008. Nếu được đặt thành số nguyên, nó tương đương với việc chỉ định
python myscript.py
008 nhiều lần

PYTHONINSPECT

Nếu điều này được đặt thành một chuỗi không trống, nó tương đương với việc chỉ định tùy chọn

python myscript.py
14

Biến này cũng có thể được sửa đổi bằng mã Python bằng cách sử dụng

python myscript.py
011 để buộc chế độ kiểm tra khi kết thúc chương trình

PYTHON KHÔNG ĐƯỢC PHÉP

Nếu điều này được đặt thành một chuỗi không trống, nó tương đương với việc chỉ định tùy chọn

python myscript.py
012

PYTHONVERBOSE

Nếu điều này được đặt thành một chuỗi không trống, nó tương đương với việc chỉ định tùy chọn

python myscript.py
013. Nếu được đặt thành số nguyên, nó tương đương với việc chỉ định
python myscript.py
013 nhiều lần

PYTHONCASEOK

Nếu điều này được đặt, Python sẽ bỏ qua trường hợp trong câu lệnh

python myscript.py
015. Điều này chỉ hoạt động trên Windows và macOS

PYTHONDONTWRITEBYTECODE

Nếu điều này được đặt thành một chuỗi không trống, Python sẽ không cố ghi các tệp

python myscript.py
37 khi nhập các mô-đun nguồn. Điều này tương đương với việc chỉ định tùy chọn
python myscript.py
017

PYTHONPYCACHEPREFIX

Nếu điều này được đặt, Python sẽ ghi các tệp

python myscript.py
37 trong cây thư mục nhân bản tại đường dẫn này, thay vì trong các thư mục
python myscript.py
019 trong cây nguồn. Điều này tương đương với việc chỉ định tùy chọn
python myscript.py
17
python myscript.py
021

Mới trong phiên bản 3. 8

PYTHONHASHSEED

Nếu biến này không được đặt hoặc được đặt thành

python myscript.py
022, thì một giá trị ngẫu nhiên sẽ được sử dụng để khởi tạo giá trị băm của các đối tượng str và byte

Nếu

python myscript.py
08 được đặt thành một giá trị số nguyên, thì nó được sử dụng làm hạt giống cố định để tạo hàm băm () của các loại được bao phủ bởi ngẫu nhiên hàm băm

Mục đích của nó là cho phép băm lặp lại, chẳng hạn như để tự kiểm tra cho chính trình thông dịch hoặc cho phép một cụm quy trình python chia sẻ giá trị băm

Số nguyên phải là số thập phân trong phạm vi [0,4294967295]. Chỉ định giá trị 0 sẽ vô hiệu hóa băm ngẫu nhiên

Mới trong phiên bản 3. 2. 3

PYTHONINTMAXSTRDIGITS

Nếu biến này được đặt thành số nguyên, nó được sử dụng để định cấu hình giới hạn độ dài chuyển đổi chuỗi số nguyên toàn cầu của trình thông dịch .

Mới trong phiên bản 3. 11

PYTHONIOENCODING

Nếu điều này được đặt trước khi chạy trình thông dịch, nó sẽ ghi đè mã hóa được sử dụng cho stdin/stdout/stderr, theo cú pháp

python myscript.py
024. Cả hai phần
python myscript.py
025 và
python myscript.py
026 đều là tùy chọn và có cùng ý nghĩa như trong
python myscript.py
027

Đối với stderr, phần

python myscript.py
026 bị bỏ qua;

Đã thay đổi trong phiên bản 3. 4. Phần

python myscript.py
025 hiện là tùy chọn.

Đã thay đổi trong phiên bản 3. 6. Trên Windows, mã hóa được chỉ định bởi biến này bị bỏ qua đối với bộ đệm bảng điều khiển tương tác trừ khi

python myscript.py
031 cũng được chỉ định. Các tệp và đường dẫn được chuyển hướng qua các luồng tiêu chuẩn không bị ảnh hưởng.

PYTHONNOUSERSITE

Nếu điều này được đặt, Python sẽ không thêm

python myscript.py
12 vào
python myscript.py
4

Xem thêm

PEP 370 – Thư mục gói trang web cho mỗi người dùng

PYTHONUSERBASE

Xác định

python myscript.py
034, được sử dụng để tính toán đường dẫn của
python myscript.py
12 và Đường dẫn cài đặt Distutils cho
python myscript.py
036.

Xem thêm

PEP 370 – Thư mục gói trang web cho mỗi người dùng

PYTHONEXECUTABLE

Nếu biến môi trường này được đặt, thì

python myscript.py
1 sẽ được đặt thành giá trị của nó thay vì giá trị nhận được trong thời gian chạy C. Chỉ hoạt động trên macOS

CẢNH BÁO PYTHON

Điều này tương đương với tùy chọn

python myscript.py
28. Nếu được đặt thành một chuỗi được phân tách bằng dấu phẩy, nó tương đương với việc chỉ định
python myscript.py
28 nhiều lần, với các bộ lọc sau trong danh sách sẽ được ưu tiên hơn các bộ lọc trước đó trong danh sách

Các cài đặt đơn giản nhất áp dụng vô điều kiện một hành động cụ thể cho tất cả các cảnh báo do một quy trình đưa ra (ngay cả những cảnh báo bị bỏ qua theo mặc định)

python myscript.py
3

Xem Bộ lọc Cảnh báoMô tả Bộ lọc Cảnh báo để biết .

PYTHONFAULTHANDER

Nếu biến môi trường này được đặt thành một chuỗi không trống, thì

python myscript.py
040 được gọi khi khởi động. cài đặt trình xử lý cho các tín hiệu
python myscript.py
041,
python myscript.py
042,
python myscript.py
043,
python myscript.py
044 và
python myscript.py
045 để kết xuất truy nguyên Python. Điều này tương đương với tùy chọn
python myscript.py
17
python myscript.py
35

Mới trong phiên bản 3. 3

PYTHONTRACEMALLOC

Nếu biến môi trường này được đặt thành một chuỗi không trống, hãy bắt đầu theo dõi phân bổ bộ nhớ Python bằng mô-đun

python myscript.py
38. Giá trị của biến là số lượng khung hình tối đa được lưu trữ trong truy nguyên của một dấu vết. Ví dụ:
python myscript.py
049 chỉ lưu trữ khung gần đây nhất. Xem
python myscript.py
40 để biết thêm thông tin

Mới trong phiên bản 3. 4

PYTHONPROFILEIMPORTTIME

Nếu biến môi trường này được đặt thành một chuỗi không trống, Python sẽ hiển thị thời gian mỗi lần nhập. Điều này hoàn toàn tương đương với việc đặt

python myscript.py
43 trên dòng lệnh

Mới trong phiên bản 3. 7

PYTHONASYNCIODEBUG

Nếu biến môi trường này được đặt thành chuỗi không trống, hãy bật chế độ gỡ lỗi của mô-đun

python myscript.py
052.

Mới trong phiên bản 3. 4

PYTHONMALLOC

Đặt bộ cấp phát bộ nhớ Python và/hoặc cài đặt móc gỡ lỗi

Đặt họ bộ cấp phát bộ nhớ được sử dụng bởi Python

  • ____630. sử dụng bộ cấp phát bộ nhớ mặc định .

  • python myscript.py
    
    054. sử dụng chức năng
    python myscript.py
    
    055 của thư viện C cho tất cả các miền (
    python myscript.py
    
    056,
    python myscript.py
    
    057,
    python myscript.py
    
    058)

  • ____1059. sử dụng bộ cấp phát pymalloc cho miền

    python myscript.py
    
    057 và
    python myscript.py
    
    058 và sử dụng hàm
    python myscript.py
    
    055 cho miền
    python myscript.py
    
    056.

Cài đặt móc gỡ lỗi .

  • ____1064. cài đặt móc gỡ lỗi trên bộ cấp phát bộ nhớ mặc định .

  • python myscript.py
    
    065. giống như
    python myscript.py
    
    054 nhưng cũng cài đặt móc gỡ lỗi

  • python myscript.py
    
    067. giống như
    python myscript.py
    
    059 nhưng cũng cài đặt móc gỡ lỗi

Đã thay đổi trong phiên bản 3. 7. Đã thêm trình phân bổ

python myscript.py
069.

Mới trong phiên bản 3. 6

PYTHONMALLOCSTATS

Nếu được đặt thành một chuỗi không trống, Python sẽ in số liệu thống kê của bộ cấp phát bộ nhớ pymalloc mỗi khi một đấu trường đối tượng pymalloc mới được tạo .

Biến này bị bỏ qua nếu biến môi trường

python myscript.py
070 được sử dụng để buộc bộ cấp phát
python myscript.py
055 của thư viện C hoặc nếu Python được định cấu hình mà không có hỗ trợ
python myscript.py
059

Đã thay đổi trong phiên bản 3. 6. Biến này hiện cũng có thể được sử dụng trên Python được biên dịch ở chế độ phát hành. Bây giờ nó không có tác dụng nếu được đặt thành một chuỗi trống.

PYTHONLEGACYWINDOWSFSENCODING

Nếu được đặt thành chuỗi không trống, chế độ mã hóa hệ thống tệp và trình xử lý lỗi mặc định sẽ trở lại chế độ trước 3. 6 giá trị của ‘mbcs’ và ‘replace’ tương ứng. Mặt khác, các giá trị mặc định mới 'utf-8' và 'surrogatepass' được sử dụng.

Điều này cũng có thể được kích hoạt trong thời gian chạy với

python myscript.py
073

Tính khả dụng . các cửa sổ.

Mới trong phiên bản 3. 6. Xem PEP 529 để biết thêm chi tiết.

PYTHONLEGACYWINDOWSTDIO

Nếu được đặt thành một chuỗi không trống, không sử dụng trình đọc và ghi bảng điều khiển mới. Điều này có nghĩa là các ký tự Unicode sẽ được mã hóa theo trang mã bảng điều khiển đang hoạt động, thay vì sử dụng utf-8

Biến này bị bỏ qua nếu luồng tiêu chuẩn được chuyển hướng (đến tệp hoặc đường dẫn) thay vì đề cập đến bộ đệm bảng điều khiển

Tính khả dụng . các cửa sổ.

Mới trong phiên bản 3. 6

PYTHONCOERCECLOCALE

Nếu được đặt thành giá trị

python myscript.py
09, khiến ứng dụng dòng lệnh Python chính bỏ qua việc ép buộc các ngôn ngữ C và POSIX dựa trên ASCII kế thừa thành một giải pháp thay thế dựa trên UTF-8 có khả năng hơn

Nếu biến này không được đặt (hoặc được đặt thành một giá trị khác với

python myscript.py
09), thì biến môi trường ghi đè ngôn ngữ
python myscript.py
076 cũng không được đặt và ngôn ngữ hiện tại được báo cáo cho danh mục
python myscript.py
077 hoặc là ngôn ngữ
python myscript.py
078 mặc định, hoặc là ngôn ngữ ASCII rõ ràng

  • python myscript.py
    
    081

  • python myscript.py
    
    082

  • python myscript.py
    
    083

Nếu đặt thành công một trong các danh mục ngôn ngữ này, thì biến môi trường

python myscript.py
077 cũng sẽ được đặt tương ứng trong môi trường quy trình hiện tại trước khi thời gian chạy Python được khởi tạo. Điều này đảm bảo rằng ngoài việc được nhìn thấy bởi cả chính trình thông dịch và các thành phần nhận biết ngôn ngữ khác đang chạy trong cùng một quy trình (chẳng hạn như thư viện GNU
python myscript.py
085), cài đặt đã cập nhật cũng được nhìn thấy trong các quy trình con (bất kể các quy trình đó có hay không

Việc định cấu hình một trong các ngôn ngữ này (hoặc rõ ràng hoặc thông qua ép buộc ngôn ngữ ẩn ở trên) sẽ tự động kích hoạt trình xử lý lỗi

python myscript.py
087 error handler cho
python myscript.py
13 và
python myscript.py
089 ( . Hành vi xử lý luồng này có thể được ghi đè bằng cách sử dụng
python myscript.py
092 như bình thường.

Đối với mục đích gỡ lỗi, cài đặt

python myscript.py
093 sẽ khiến Python phát ra thông báo cảnh báo trên
python myscript.py
094 nếu chế độ cưỡng chế ngôn ngữ kích hoạt hoặc nếu ngôn ngữ khác có thể kích hoạt chế độ cưỡng chế vẫn hoạt động khi thời gian chạy Python được khởi tạo

Cũng lưu ý rằng ngay cả khi tính năng ép buộc ngôn ngữ bị vô hiệu hóa hoặc khi không tìm thấy ngôn ngữ mục tiêu phù hợp,

python myscript.py
095 vẫn sẽ kích hoạt theo mặc định trong các ngôn ngữ dựa trên ASCII kế thừa. Phải tắt cả hai tính năng để buộc trình thông dịch sử dụng
python myscript.py
096 thay vì
python myscript.py
083 cho giao diện hệ thống

Tính khả dụng . Unix.

Mới trong phiên bản 3. 7. Xem PEP 538 để biết thêm chi tiết.

PYTHONDEVMODE

Nếu biến môi trường này được đặt thành một chuỗi không trống, hãy bật Chế độ phát triển Python , giới thiệu các kiểm tra thời gian chạy bổ sung quá tốn kém để .

Mới trong phiên bản 3. 7

PYTHONUTF8

Nếu được đặt thành

python myscript.py
098, hãy bật Chế độ Python UTF-8 .

Nếu được đặt thành

python myscript.py
09, hãy tắt Chế độ Python UTF-8 .

Đặt bất kỳ chuỗi không trống nào khác sẽ gây ra lỗi trong quá trình khởi tạo trình thông dịch

Mới trong phiên bản 3. 7

PYTHONWARNDEFAULTENCODING

Nếu biến môi trường này được đặt thành chuỗi không trống, hãy đưa ra lỗi

python myscript.py
53 khi mã hóa mặc định dành riêng cho ngôn ngữ được sử dụng

Xem Cảnh báo mã hóa chọn tham gia để biết chi tiết.

Mới trong phiên bản 3. 10

PYTHONNODEBUGRANGES

Nếu biến này được đặt, nó sẽ vô hiệu hóa việc bao gồm các bảng ánh xạ thông tin vị trí bổ sung (dòng kết thúc, phần bù cột bắt đầu và phần bù cột kết thúc) cho mọi lệnh trong các đối tượng mã. Điều này rất hữu ích khi muốn có các đối tượng mã nhỏ hơn và tệp pyc cũng như loại bỏ các chỉ báo vị trí trực quan bổ sung khi trình thông dịch hiển thị truy vết

Mới trong phiên bản 3. 11

1. 2. 1. Biến chế độ gỡ lỗi¶

PYTHONTHREADDEBUG

Nếu được đặt, Python sẽ in thông tin gỡ lỗi luồng vào thiết bị xuất chuẩn

Cần có bản dựng gỡ lỗi của Python .

Không dùng nữa kể từ phiên bản 3. 10, sẽ bị xóa trong phiên bản 3. 12

PYTHONDUMPREFS

Nếu được đặt, Python sẽ kết xuất các đối tượng và số lượng tham chiếu vẫn còn tồn tại sau khi tắt trình thông dịch vào một tệp có tên FILENAME

Làm cách nào để đọc một tệp từ dòng lệnh trong Python?

Để đọc một tệp văn bản bằng Python, bạn làm theo các bước sau. .
Đầu tiên, mở một tệp văn bản để đọc bằng hàm open()
Thứ hai, đọc văn bản từ tệp văn bản bằng phương thức tệp read() , readline() hoặc readlines() của đối tượng tệp
Thứ ba, đóng tệp bằng phương thức đóng tệp ()

Đầu vào dòng lệnh Python là gì?

Python cho phép nhập dòng lệnh. Điều đó có nghĩa là chúng tôi có thể yêu cầu người dùng cung cấp thông tin đầu vào . Phương thức này hơi khác một chút trong Python 3. 6 so với Python 2. 7. Trăn 3. 6 sử dụng phương thức input().