Đâ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 1Như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?
Đã 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.opt2C:\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 1Sau đó 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
- Nils Wernernils Werner
- 33K7 Huy hiệu vàng72 Huy hiệu bạc94 Huy hiệu đồng
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 0ElmovankielmoelmovankielmoNov 29, 2019 at 11:20