Hướng dẫn how do i run a python script from command line arguments? - làm cách nào để chạy một tập lệnh python từ các đối số dòng lệnh?

Đây là tập lệnh Python C:\Python27>hello 1 1 1 của tôi:

def hello(a,b): print "hello and that's your sum:" sum=a+b print sum import sys if __name__ == "__main__": hello(sys.argv[2])

Vấn đề là nó không thể chạy từ dấu nhắc dòng lệnh Windows, tôi đã sử dụng lệnh này:

C:\Python27>hello 1 1

Nhưng nó không hoạt động không may, có thể ai đó xin vui lòng giúp đỡ?

Falsetru

344K57 Huy hiệu vàng684 Huy hiệu bạc608 Huy hiệu đồng57 gold badges684 silver badges608 bronze badges

hỏi ngày 9 tháng 7 năm 2013 lúc 9:11Jul 9, 2013 at 9:11

2

  • C:\Python27>hello 1 1 2 Ra khỏi chức năng Hello.
  • Đối số nên được chuyển đổi thành int.
  • Chuỗi theo nghĩa đen có chứa C:\Python27>hello 1 1 3 nên được thoát ra hoặc nên được đầu tư bởi C:\Python27>hello 1 1 4.
  • Bạn đã gọi chương trình với C:\Python27>hello 1 1 5 trong dòng lệnh?
import sys def hello(a,b): print "hello and that's your sum:", a + b if __name__ == "__main__": a = int(sys.argv[1]) b = int(sys.argv[2]) hello(a, b)

Đã trả lời ngày 9 tháng 7 năm 2013 lúc 9:18Jul 9, 2013 at 9:18

Falsetrufalsetrufalsetru

344K57 Huy hiệu vàng684 Huy hiệu bạc608 Huy hiệu đồng57 gold badges684 silver badges608 bronze badges

9

hỏi ngày 9 tháng 7 năm 2013 lúc 9:11

import argparse parser = argparse.ArgumentParser(description='Script so useful.') parser.add_argument("--opt1", type=int, default=1) parser.add_argument("--opt2") args = parser.parse_args() opt1_value = args.opt1 opt2_value = args.opt2

C:\Python27>hello 1 1 2 Ra khỏi chức năng Hello.

python myScript.py --opt2 = 'hi'

Đối số nên được chuyển đổi thành int.Feb 11, 2020 at 19:40

Chuỗi theo nghĩa đen có chứa C:\Python27>hello 1 1 3 nên được thoát ra hoặc nên được đầu tư bởi C:\Python27>hello 1 1 4.hestellezg

Bạn đã gọi chương trình với C:\Python27>hello 1 1 5 trong dòng lệnh?3 gold badges30 silver badges33 bronze badges

1

Đã trả lời ngày 9 tháng 7 năm 2013 lúc 9:18

  • Falsetrufalsetru
  • Tôi thấy chủ đề này đang tìm kiếm thông tin về việc xử lý các tham số; Hướng dẫn dễ dàng này rất tuyệt:
  • chạy như:
  • Đã trả lời ngày 11 tháng 2 năm 2020 lúc 19:40

Hestellezghestellezg

import sys def hello(a, b): print "hello and that's your sum:" sum = a+b print sum if __name__== "__main__": hello(int(sys.argv[1]), int(sys.argv[2]))

2.7293 huy hiệu vàng30 Huy hiệu bạc33 Huy hiệu đồng

python hello.py 1 1

Dưới đây là tất cả các câu trả lời trước đó được tóm tắt:

Các mô -đun nên được nhập bên ngoài các chức năng.1 gold badge15 silver badges38 bronze badges

Xin chào (sys.argv [2]) cần phải được thụt vào vì nó nằm trong một câu lệnh IF.Jul 3, 2017 at 19:17

Xin chào có 2 đối số nên bạn cần gọi 2 đối số.C. Glass

Theo như gọi chức năng từ thiết bị đầu cuối, bạn cần gọi Python .py ...1 silver badge3 bronze badges

Mã sẽ trông như thế này:

C:\Python27>python hello.py 1 1

Sau đó chạy mã bằng lệnh này:

CharlesJul 9, 2013 at 9:14

8971 Huy hiệu vàng15 Huy hiệu bạc38 Huy hiệu đồngthibauts

Đã trả lời ngày 3 tháng 7 năm 2017 lúc 19:179 silver badges8 bronze badges

3

C. Glassc. Thủy tinh

import sys def hello(a,b): print 'hello and thats your sum:' sum=a+b print sum if __name__ == "__main__": hello(sys.argv[1], sys.argv[2])

Phim huy hiệu bạc 1811inside the function, it will only ever be evaluated if you run that function. The problem is: the point of said statement is to run the function in the first place.

Để thực hiện chương trình của bạn từ dòng lệnh, bạn phải gọi trình thông dịch Python, như thế này:Jul 9, 2013 at 9:16

Nếu bạn viết mã nằm trong một thư mục khác, bạn sẽ phải đặt đường dẫn nhị phân Python trong biến môi trường đường dẫn của bạn, để có thể chạy nó. Bạn có thể tìm thấy hướng dẫn chi tiết ở đây.Nils Werner

Đã trả lời ngày 9 tháng 7 năm 2013 lúc 9:147 gold badges72 silver badges94 bronze badges

1

import sys def hello(a, b): print 'hello and that\'s your sum: {0}'.format(a + b) if __name__ == '__main__': hello(int(sys.argv[1]), int(sys.argv[2]))

Thibautsthibauts

1.6289 huy hiệu bạc8 huy hiệu đồngJul 9, 2013 at 9:19

Sự thụt lề của bạn bị hỏng. Điều này sẽ sửa nó:ElmoVanKielmo

Rõ ràng, nếu bạn đặt câu lệnh C:\Python27>hello 1 1 6 bên trong hàm, nó sẽ chỉ được đánh giá nếu bạn chạy chức năng đó. Vấn đề là: Điểm của tuyên bố nói là chạy chức năng ngay từ đầu.2 gold badges30 silver badges45 bronze badges

Đã trả lời ngày 9 tháng 7 năm 2013 lúc 9:16

  1. Nils Wernernils Werner
  2. 33K7 Huy hiệu vàng72 Huy hiệu bạc94 Huy hiệu đồng
  3. Hơn nữa, hãy xem @thibauts trả lời về cách gọi tập lệnh Python.

    C:\Python27>hello 1 1 7

    C:\Python27>hello 1 1 8

Đã trả lời ngày 9 tháng 7 năm 2013 lúc 9:19

C:\Python27>hello 1 1 0

ElmovankielmoelmovankielmoNov 29, 2019 at 11:20

Làm cách nào để chạy tập lệnh Python từ dòng lệnh?

Để chạy các tập lệnh Python bằng lệnh Python, bạn cần mở một dòng lệnh và nhập từ python, hoặc python3 nếu bạn có cả hai phiên bản, theo sau là đường dẫn đến tập lệnh của bạn, giống như thế này: $ python3 hello.py xin chàoThế giới!Nếu mọi thứ hoạt động ổn, sau khi bạn nhấn Enter, bạn sẽ thấy cụm từ Hello World!open a command-line and type in the word python , or python3 if you have both versions, followed by the path to your script, just like this: $ python3 hello.py Hello World! If everything works okay, after you press Enter , you'll see the phrase Hello World!

Làm cách nào để chuyển một đối số dòng lệnh cho tập lệnh Python?

Trong Python, các đối số được chuyển đến một tập lệnh từ dòng lệnh bằng gói SYS.Thành viên Argv của SYS (SYS. ARGV) sẽ lưu trữ tất cả các thông tin trong mục nhập dòng lệnh và có thể được truy cập bên trong tập lệnh Python.Mô -đun GetOpt của Python cũng có thể được sử dụng để phân tích các đối số được đặt tên.

Làm cách nào để chạy một tệp PY trong một đối số?

Làm thế nào để thực thi một tệp với các đối số trong Python ?..
Phương pháp 1: Thực hiện một tệp với quy trình con ..
Phương pháp 2: Thực hiện tệp python với các đối số bằng sys.argv ..
Phương pháp 3: Thực hiện tệp python với các đối số trong pycharm ..

Chủ đề