Page 11 - Python Simple
P. 11
2. Sử dụng trình thông dịch Python http://www.vithon.org/tutorial/2.5/node4.html
Một cách nữa để khởi động bộ thông dịch là lệnh "python -c command [arg]
...", sẽ thực thi một hoặc nhiều câu lệnh trong command, giống như tùy chọn
-c của vỏ. Vì các câu lệnh của Python thường chứa các khoảng trống hoặc các
kí tự đặc biệt, chọn lựa an toàn nhất là bao command bằng dấu nháy kép (").
Một số mô-đun cũng có thể được dùng như kịch bản. Chúng có thể được gọi
bằng cách sử dụng cú pháp "python -m module [arg] ...", lệnh này sẽ thực
hiện tập tin nguồn module như khi bạn chỉ ra tên tập tin và đường dẫn đầy đủ
trên dòng lệnh.
Xin lưu ý rằng có sự khác biệt giữa "python file" và "python <file". Trong
trường hợp sau, các yêu cầu vào (input request) từ chương trình, ví dụ như lời
gọi tới input() và raw_input(), được cung cấp từ file. Vì tập tin này đã được
đọc đến cuối bởi trình phân tích (parser) trước khi chương trình thực thi,
chương trình sẽ gặp phải cuối tập tin (end-of-file) ngay lập tức. Trong trường
hợp đầu (là cách bạn sẽ hay dùng) các yêu cầu vào được cung cấp từ bất kỳ tập
tin hoặc thiết bị nào được kết nối vào đầu vào chuẩn của trình thông dịch
Python.
Khi tập tin kịch bản (script file) được sử dụng, đôi khi sẽ rất hữu dụng nếu có
thể chạy chương trình và chuyển sang chế độ tương tác ngay sau đó. Điều này
thực hiện được bằng cách truyền -i trước script (python -i script).
(Phương pháp này không hoạt động nếu chương trình được đọc từ đầu vào
chuẩn, lí do của chuyện này đã được giải thích trong đoạn trước.)
2.1.1 Truyền thông số
Bộ thông dịch nhận biết tên chương trình và các tham số khác được truyền
vào chương trình trong biến sys.argv, dưới dạng một danh sách các chuỗi.
Độ dài tối thiểu là một; khi không có kịch bản hoặc thông số truyền vào,
sys.argv[0] là một chuỗi rỗng. Khi tên kịch bản được truyền vào là '-' (có
nghĩa là đầu vào chuẩn), sys.argv[0] được gán thành '-'. Khi -c command
được sử dụng, sys.argv[0] được gán thành '-c'. Khi -m module được sử dụng,
sys.argv[0] được gán là tên đầy đủ của mô-đun đã nạp. Các tùy chọn sau -c
command hoặc -m module không được sử dụng bởi trình thông dịch Python mà
truyền vào sys.argv để cho command hay module xử lý.
2.1.2 Chế độ tương tác
Khi các lệnh được đọc từ một tty, trình thông dịch được xem là đang trong chế
độ tương tác. Trong chế độ này nó nhắc lệnh tiếp theo với dấu nhắc chính
(primary prompt), thường là ba dấu lớn hơn (">>> "); với các dòng tiếp nối
(continuation line), nó sẽ nhắc với dấu nhắc thứ (secondary prompt), mặc định
là ba dấu chấm ("... "). Bộ thông dịch sẽ in một thông báo chào mừng, số
hiệu phiên bản và thông báo bản quyền trước khi hiện dấu nhắc:
2 of 5 08/31/2011 07:37 AM