cuốn sách gpt4 ai đã làm

python — Cờ -m khác nhau như thế nào giữa Python 2 và 3?

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 13:38:04 25 4
mua khóa gpt4 Nike

Trong Python 3, tôi có thể sử dụng cờ -m trên dòng lệnh để chạy bất kỳ thư mục nào dưới dạng gói Python hoặc chạy các mô-đun python với các lần nhập tương đối trong các thư mục đó. Tuy nhiên, điều này dường như không đúng với Python 2.

Giả sử tôi có cấu trúc tệp sau:

C:\mflag
└───gói
này.py

Nội dung của hey.py là:

từ __future__ nhập print_function

in ("Xin chào!")

Tại sao hai lệnh này hoạt động khác nhau?

C:\mflag>python -m pack.hey
Xin chào!

C:\mflag>python2 -m pack.hey
C:\Python27\python2.exe: Không có gói có tên mô-đun

câu trả lời hay nhất

Đây là một gói không gian tên, bao gồm PEP 0420 Giới thiệu cụ thể:

Trong quá trình xử lý nhập, máy nhập sẽ tiếp tục lặp lại từng thư mục trong đường dẫn gốc giống như trong Python3.2 trong khi tìm kiếm mô-đun hoặc gói có tên "foo", cho mỗi thư mục trong đường dẫn gốc:

  • Nếu tìm thấy /foo/_ _ init _ _.py, một gói thông thường sẽ được nhập và trả về.

  • Nếu không, nhưng /foo.{py,pyc,so,pyd} được tìm thấy, amodule sẽ được nhập và trả về. Danh sách tiện ích mở rộng chính xác sẽ khác nhau tùy theo nền tảng và liệu cờ -O có được chỉ định ở đây hay không.

  • Nếu không, nhưng /foo được tìm thấy và là một thư mục, nó sẽ được ghi lại và quá trình quét tiếp tục với thư mục tiếp theo trong đường dẫn gốc.

  • Nếu không, quá trình quét sẽ tiếp tục với thư mục tiếp theo trong đường dẫn gốc.

Về python - cờ -m khác nhau như thế nào giữa Python 2 và 3? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/36502214/

25 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress