1. Sử dụng nó như một mô-đun. nhập tệp bạn muốn chạy và chạy các chức năng của nó. Ví dụ: giả sử bạn muốn nhập tệpB. py vào tập tinS. py, giả sử các tệp nằm trong cùng một thư mục, bên trong tệpA bạn sẽ viết Show import fileB Bây giờ trong tệpS, bạn có thể gọi bất kỳ chức năng nào bên trong tệp như fileB.my_func() 2. Bạn có thể sử dụng lệnh exec. execfile('file.py') thực thi tập tin. py trong trình thông dịch 3. Bạn có thể sinh ra một quy trình mới bằng cách sử dụng hệ điều hành. lệnh hệ thống Ví dụos.system('python my_file.py') Đối số dòng lệnh Python cung cấp một cách thuận tiện để chấp nhận một số thông tin tại dòng lệnh trong khi chạy chương trình. Các đối số được đưa ra sau tên của tập lệnh Python được gọi là Đối số dòng lệnh và chúng được sử dụng để chuyển một số thông tin cho chương trình. Ví dụ - $ python script.py arg1 arg2 arg3 Ở đây tên tập lệnh Python là tập lệnh. py và phần còn lại của ba đối số - arg1 arg2 arg3 là các đối số dòng lệnh cho chương trình. Có ba mô-đun Python sau hữu ích trong việc phân tích cú pháp và quản lý các đối số dòng lệnh
sys module - Tham số hệ thống cụ thểMô-đun sys của Python cung cấp quyền truy cập vào bất kỳ đối số dòng lệnh nào thông qua sys. argv. Điều này phục vụ hai mục đích -
đây sys. argv[0] là chương trình tức là. tên kịch bản Thí dụHãy xem xét thử nghiệm tập lệnh sau. py - import sys print 'Number of arguments:', len(sys.argv), 'arguments.' print 'Argument List:', str(sys.argv) Bây giờ hãy chạy tập lệnh trên như bên dưới. Tất cả các chương trình trong hướng dẫn này cần được chạy từ dòng lệnh, vì vậy chúng tôi không thể cung cấp tùy chọn biên dịch & chạy trực tuyến cho các chương trình này. Vui lòng thử chạy các chương trình này trên máy tính của bạn $ python test.py arg1 arg2 arg3 Điều này tạo ra kết quả sau - Number of arguments: 4 arguments. Argument List: ['test.py', 'arg1', 'arg2', 'arg3'] Như đã đề cập ở trên, đối số đầu tiên luôn là tên tập lệnh và nó cũng được tính vào số lượng đối số Phân tích đối số dòng lệnhPython đã cung cấp một mô-đun getopt giúp bạn phân tích các đối số và tùy chọn dòng lệnh. Mô-đun này cung cấp hai chức năng và một ngoại lệ để cho phép phân tích cú pháp đối số dòng lệnh getopt. phương pháp getoptPhương pháp này phân tích các tùy chọn dòng lệnh và danh sách tham số. Sau đây là cú pháp đơn giản cho phương thức này - ________số 8_______Đây là chi tiết của các tham số -
Phương pháp này getopt. getopt() trả về giá trị bao gồm hai phần tử. đầu tiên là danh sách các cặp (tùy chọn, giá trị). Thứ hai là danh sách các đối số chương trình còn lại sau khi danh sách tùy chọn bị loại bỏ. Mỗi cặp tùy chọn-và-giá trị được trả về có tùy chọn làm thành phần đầu tiên của nó, bắt đầu bằng dấu gạch nối cho các tùy chọn ngắn (e. g. , '-x') hoặc hai dấu gạch ngang cho các tùy chọn dài (e. g. , '--long-option') Thí dụSau đây là một chương trình Python nhận ba đối số tại dòng lệnh
Đây là đoạn script sau để kiểm tra. py - import sys, getopt def main(argv): inputfile = '' outputfile = '' opts, args = getopt.getopt(argv,"hi:o:",["ifile=","ofile="]) for opt, arg in opts: if opt == '-h': print ('test.py -i -o ') sys.exit() elif opt in ("-i", "--ifile"): inputfile = arg elif opt in ("-o", "--ofile"): outputfile = arg print ('Input file is ', inputfile) print ('Output file is ', outputfile) if __name__ == "__main__": main(sys.argv[1:]) Bây giờ, hãy chạy tập lệnh trên như sau - $ python test.py -i IN -o OUT Điều này sẽ tạo ra kết quả sau Input file is IN Output file is OUT Chúng ta cũng có thể chạy chương trình trên như sau $ python test.py --ifile IN --ofile OUT Điều này sẽ tạo ra kết quả tương tự như trong trường hợp -i và -o Input file is IN Output file is OUT Chúng ta có thể sử dụng tùy chọn h để kiểm tra việc sử dụng chương trình import sys print 'Number of arguments:', len(sys.argv), 'arguments.' print 'Argument List:', str(sys.argv)0 Điều này sẽ tạo ra kết quả sau import sys print 'Number of arguments:', len(sys.argv), 'arguments.' print 'Argument List:', str(sys.argv)1 getopt ngoại lệ. GetoptErrorHãy xem xét chúng tôi sử dụng một số tùy chọn khác chưa được triển khai trong chương trình. Điều này sẽ đưa ra một ngoại lệ. Ví dụ: hãy thử chạy cùng một chương trình với tùy chọn sai -p như sau import sys print 'Number of arguments:', len(sys.argv), 'arguments.' print 'Argument List:', str(sys.argv)2 Điều này sẽ đưa ra một ngoại lệ như dưới đây import sys print 'Number of arguments:', len(sys.argv), 'arguments.' print 'Argument List:', str(sys.argv)3 Ngoại lệ này được đưa ra khi một tùy chọn không được công nhận được tìm thấy trong danh sách đối số hoặc khi một tùy chọn yêu cầu đối số không được đưa ra. Đối số cho ngoại lệ là một chuỗi cho biết nguyên nhân gây ra lỗi. Các thuộc tính msg và opt đưa ra thông báo lỗi và tùy chọn liên quan Thí dụSau đây là một chương trình Python chính xác sử dụng try. ngoại trừ chặn và chụp getopt. Ngoại lệ GetoptError import sys print 'Number of arguments:', len(sys.argv), 'arguments.' print 'Argument List:', str(sys.argv)4 Bây giờ, hãy chạy tập lệnh trên như sau - import sys print 'Number of arguments:', len(sys.argv), 'arguments.' print 'Argument List:', str(sys.argv)2 Điều này sẽ chạy chương trình một cách mượt mà và sẽ hiển thị cách sử dụng chương trình như chúng tôi đã triển khai trong phần ngoại lệ import sys print 'Number of arguments:', len(sys.argv), 'arguments.' print 'Argument List:', str(sys.argv)1 Mô-đun argparse PythonMô-đun argparse trong Python giúp dễ dàng viết các giao diện dòng lệnh thân thiện với người dùng. Chương trình xác định những đối số mà nó yêu cầu và argparse sẽ tìm ra cách phân tích những đối số đó ra khỏi sys. argv. Mô-đun argparse cũng tự động tạo các thông báo trợ giúp và sử dụng. Mô-đun cũng sẽ báo lỗi khi người dùng cung cấp cho chương trình các đối số không hợp lệ Thí dụSau đây là một ví dụ sử dụng đơn giản argparse để chấp nhận một tham số tên. <>/p> import sys print 'Number of arguments:', len(sys.argv), 'arguments.' print 'Argument List:', str(sys.argv)7 Bạn có thể thêm bao nhiêu đối số tùy thích bằng cách sử dụng phương thức add_argument(), trên thực tế, bạn cũng có thể cung cấp loại dữ liệu bắt buộc của đối số như sau |