Hướng dẫn how to pass file as argument in python - cách chuyển tệp dưới dạng đối số trong python
Giả sử tôi có một hàm đọc tệp .txt và tạo các mảng dựa trên các cột của dữ liệu trong tệp đó. Những gì tôi có ngay trong chức năng trông giống như: Show
Nhưng nếu tôi muốn thay đổi tệp .txt mà chức năng đọc, tôi phải tự đi vào mã và nhập tên tệp mới trước khi chạy lại. Thay vào đó, làm thế nào tôi có thể chuyển bất kỳ tên tệp nào cho chức năng để có vẻ như:
Đã hỏi ngày 18 tháng 6 năm 2014 lúc 18:38Jun 18, 2014 at 18:38
Tôi nghĩ bạn muốn
và sau đó
hoặc tốt hơn:
và sau đó
hoặc tốt hơn: Phiên bản sau cho phép bạn chuyển trong bất kỳ đối tượng giống như tệp nào cho 5.
Cập nhật: Nếu bạn muốn nhận được ưa thích và cho phép tên tệp hoặc tay cầm tệp:Jun 18, 2014 at 18:43
Đã trả lời ngày 18 tháng 6 năm 2014 lúc 18:43Ben Benben1 gold badge39 silver badges48 bronze badges 1 Python cung cấp một mô-đun GetOpt giúp bạn phân tích các tùy chọn và đối số dòng lệnh.getopt module that helps you parse command-line options and arguments. $ python test.py arg1 arg2 arg3 Mô-đun Python SYS 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 -sys module provides access to any command-line arguments via the sys.argv. This serves two purposes −
Ở đây sys.argv [0] là chương trình tức là. Tên tập lệnh. Thí dụXem xét kiểm tra tập lệnh sau.py - #!/usr/bin/python import sys print 'Number of arguments:', len(sys.argv), 'arguments.' print 'Argument List:', str(sys.argv) Bây giờ chạy trên tập lệnh như sau - $ python test.py arg1 arg2 arg3 Sản phẩm này sau kết quả - 0Lưu ý - 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 bằng số lượng đối số. − As mentioned above, first argument is always script name and it is also being counted in number of arguments. 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 tùy chọn và đối số dòng lệnh. Mô -đun này cung cấp hai chức năng và một ngoại lệ để kích hoạt phân tích đối số dòng lệnh.getopt module that helps you parse command-line options and arguments. This module provides two functions and an exception to enable command line argument parsing. phương thức getOpt.getOptPhương thức 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 pháp này - 1Dưới đây là chi tiết của các tham số -
Ngoại lệ getOpt.GetOpterRorĐiều này được nêu 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 một đối số không được đưa ra. Đối số cho ngoại lệ là một chuỗi chỉ ra nguyên nhân của lỗi. Các thuộc tính MSG và OPT cung cấp thông báo lỗi và tùy chọn liên quan.msg and opt give the error message and related option. Thí dụHãy xem xét chúng tôi muốn truyền hai tên tệp thông qua dòng lệnh và chúng tôi cũng muốn đưa ra một tùy chọn để kiểm tra việc sử dụng tập lệnh. Việc sử dụng tập lệnh như sau - 2Đây là tập lệnh sau để kiểm tra.py - 3Bây giờ, chạy trên tập lệnh như sau - 4python_basic_syntax.htm Làm thế nào để bạn vượt qua tên tệp làm đối số trong Python?Điều này có thể được thực hiện bằng cách chuyển một danh sách các tên tệp được phân tách bằng dấu phẩy là một trong các đối số trong khi chạy tập lệnh. Ví dụ: nếu bạn có một tập lệnh gọi là `myscipt.py ', bạn sẽ chạy nó như: python myscript.py file1, file2, file3.passing a comma-separated list of file names as one of the arguments while running the script. FOr example, if you have a script called `myscipt.py' you would run it as: python myscript.py file1,file2,file3.
Làm thế nào để bạn truyền một đường dẫn tệp dưới dạng đối số dòng lệnh trong Python?Để sử dụng nó, bạn chỉ cần chuyển một đường dẫn hoặc tên tệp vào một đối tượng đường dẫn mới () bằng cách sử dụng dấu gạch chéo về phía trước và nó xử lý phần còn lại: Lưu ý hai điều ở đây: bạn nên sử dụng dấu gạch chéo về phía trước với các hàm pathlib. Đối tượng đường dẫn () sẽ chuyển đổi các dấu gạch chéo về phía trước thành đúng loại chém cho hệ điều hành hiện tại.pass a path or filename into a new Path() object using forward slashes and it handles the rest: Notice two things here: You should use forward slashes with pathlib functions. The Path() object will convert forward slashes into the correct kind of slash for the current operating system.
Làm cách nào để vượt qua danh sách các tệp trong Python?Cách liệt kê các tập tin trong một thư mục trong Python.. Trong Python, chúng tôi có thể muốn có một danh sách các tệp hoặc thư mục trong một thư mục được chỉ định. .... Sử dụng mô -đun HĐH. .... Để liệt kê các tệp ở một đường dẫn cụ thể, chúng ta có thể chỉ cần đưa đường dẫn dưới dạng chuỗi cho hàm. .... Sử dụng mô -đun Quả cầu. .... Chúng ta cũng có thể in tên tệp một cách đệ quy bằng phương pháp IGLOB .. Bạn có thể vượt qua một chức năng như một python đối số?Bởi vì các chức năng là các đối tượng, chúng ta có thể truyền chúng như các đối số cho các chức năng khác.Các chức năng có thể chấp nhận các chức năng khác vì các đối số còn được gọi là các hàm bậc cao hơn.Trong ví dụ dưới đây, một lời chào hàm được tạo có chức năng như một đối số.. Functions that can accept other functions as arguments are also called higher-order functions. In the example below, a function greet is created which takes a function as an argument. |