Hướng dẫn python not printing to command line - python không in ra dòng lệnh

Tôi muốn tạo một tập lệnh trong Python và sau đó chạy nó từ dòng lệnh. Tập lệnh được gọi là

John Jackson
3 và lệnh để chạy nó là:

python3 test.py John Jackson

Đây là đầu ra dự kiến:

John Jackson

Và đây là kịch bản Python tôi đã thực hiện:

class person:

    def __init__[self, first, last]:
        self.firstname = first
        self.lastname = last

    def get_first[self]:
        return self.firstname

    def get_last[self]:
        return self.lastname

import argparse

def main[]:
    parser = argparse.ArgumentParser[]
    parser.add_argument['first']
    parser.add_argument['last']
    args = parser.parse_args[]
    c1 = person[args.first, args.last]
    print[c1]

Nhưng vấn đề là khi tôi chạy tập lệnh từ dòng lệnh bằng lệnh được đề cập, nó không trả về không. Bạn có biết làm thế nào để sửa nó và nhận được đầu ra mong đợi?

Gino Mempin

21.8K26 Huy hiệu vàng89 Huy hiệu bạc117 Huy hiệu đồng26 gold badges89 silver badges117 bronze badges

Đã hỏi ngày 18 tháng 5 năm 2019 lúc 12:16May 18, 2019 at 12:16

2

Bạn đã xác định chức năng

John Jackson
4 của bạn nhưng không gọi nó.

Thêm cái này ở cuối tập lệnh của bạn:

if __name__ == "__main__":
    main[]

Xem

John Jackson
5 làm gì ?.

Sau đó,

John Jackson
6 là ví dụ
John Jackson
7, sẽ in:

$ python3 test.py John Jackson

Bạn cần gọi

John Jackson
8 và
John Jackson
9 để có được đầu ra chính xác:

print[c1.get_first[], c1.get_last[]]

Đã trả lời ngày 18 tháng 5 năm 2019 lúc 12:24May 18, 2019 at 12:24

Gino Mempingino MempinGino Mempin

21.8K26 Huy hiệu vàng89 Huy hiệu bạc117 Huy hiệu đồng26 gold badges89 silver badges117 bronze badges

Đã hỏi ngày 18 tháng 5 năm 2019 lúc 12:16

Bạn đã xác định chức năng

John Jackson
4 của bạn nhưng không gọi nó.

if __name__ == "__main__":
    main[]

Thêm cái này ở cuối tập lệnh của bạn:

def __str__[self]:
    return self.firstname + ' ' + self.lastname

Xem

John Jackson
5 làm gì ?.

import argparse

class person:

    def __init__[self, first, last]:
        self.firstname = first
        self.lastname = last

    def get_first[self]:
        return self.firstname

    def get_last[self]:
        return self.lastname

    def __str__[self]:
        return self.firstname + ' ' + self.lastname

def main[]:
    parser = argparse.ArgumentParser[]
    parser.add_argument['first']
    parser.add_argument['last']
    args = parser.parse_args[]
    c1 = person[args.first, args.last]
    print[c1]

if __name__ == '__main__':
    main[]

Sau đó,

John Jackson
6 là ví dụ
John Jackson
7, sẽ in:May 18, 2019 at 12:30

Bạn cần gọi

John Jackson
8 và
John Jackson
9 để có được đầu ra chính xác:Akhil Batra

Đã trả lời ngày 18 tháng 5 năm 2019 lúc 12:244 silver badges16 bronze badges

Gino Mempingino Mempinmuch] simpler way to achieve this is to use the

class person:

    def __init__[self, first, last]:
        self.firstname = first
        self.lastname = last

    def get_first[self]:
        return self.firstname

    def get_last[self]:
        return self.lastname

import argparse

def main[]:
    parser = argparse.ArgumentParser[]
    parser.add_argument['first']
    parser.add_argument['last']
    args = parser.parse_args[]
    c1 = person[args.first, args.last]
    print[c1]
2 property of the
class person:

    def __init__[self, first, last]:
        self.firstname = first
        self.lastname = last

    def get_first[self]:
        return self.firstname

    def get_last[self]:
        return self.lastname

import argparse

def main[]:
    parser = argparse.ArgumentParser[]
    parser.add_argument['first']
    parser.add_argument['last']
    args = parser.parse_args[]
    c1 = person[args.first, args.last]
    print[c1]
3 module then separate the [string] argument using
class person:

    def __init__[self, first, last]:
        self.firstname = first
        self.lastname = last

    def get_first[self]:
        return self.firstname

    def get_last[self]:
        return self.lastname

import argparse

def main[]:
    parser = argparse.ArgumentParser[]
    parser.add_argument['first']
    parser.add_argument['last']
    args = parser.parse_args[]
    c1 = person[args.first, args.last]
    print[c1]
4, like this:

import sys

name = sys.argv[1].split[" "]

if len[name] != 2:
  raise ValueError["Invalid first and last name, try using \"John Jackson\" instead."]

[first_name, last_name] = name
print[first_name, last_name]

Tôi không chắc bạn đang gọi chức năng chính của mình trong khi chạy tập lệnh.

John Jackson
0

cộng

John Jackson
1

Và ghi đè chức năng

class person:

    def __init__[self, first, last]:
        self.firstname = first
        self.lastname = last

    def get_first[self]:
        return self.firstname

    def get_last[self]:
        return self.lastname

import argparse

def main[]:
    parser = argparse.ArgumentParser[]
    parser.add_argument['first']
    parser.add_argument['last']
    args = parser.parse_args[]
    c1 = person[args.first, args.last]
    print[c1]
0 của lớp người để in họ và họ trong khi chuyển lớp làm đối số cho
class person:

    def __init__[self, first, last]:
        self.firstname = first
        self.lastname = last

    def get_first[self]:
        return self.firstname

    def get_last[self]:
        return self.lastname

import argparse

def main[]:
    parser = argparse.ArgumentParser[]
    parser.add_argument['first']
    parser.add_argument['last']
    args = parser.parse_args[]
    c1 = person[args.first, args.last]
    print[c1]
1.

John Jackson

Toàn bộ mã diễn ra như thế này

Đã trả lời ngày 18 tháng 5 năm 2019 lúc 12:30May 18, 2019 at 12:27

Akhil Batraakhil BatraMalekai

5614 Huy hiệu bạc16 Huy hiệu Đồng4 gold badges24 silver badges57 bronze badges

Tại sao Python của tôi không hoạt động trong Promer Prompt?

Các Python không được công nhận là lỗi lệnh bên trong hoặc bên ngoài.Lỗi được gây ra khi tệp thực thi của Python không được tìm thấy trong biến môi trường do lệnh Python trong dấu nhắc lệnh Windows.Python's executable file is not found in an environment variable as a result of the Python command in the Windows command prompt.

Tại sao đầu ra của tôi không in trong Python?

Một trong những lý do tại sao tập lệnh Python của bạn không hiển thị bất kỳ đầu ra nào là vì nó đệm stdout và stderr Steams thay vì in chúng.Điều này cũng có thể xảy ra nếu bạn thực hiện tập lệnh Python từ đường ống CI/CD [ví dụ: sử dụng Jenkins, Gitlab-CI, TeamCity, v.v.] hoặc nếu bạn chạy nó bằng Dockerfile.it buffers stdout and stderr steams instead of printing them. This also can happen if you execute the Python script from a CI/CD pipeline [e.g. using Jenkins, Gitlab-CI, TeamCity, etc.] or if you run it using a Dockerfile .

Tại sao Python không được công nhận trong CMD nhưng PY là?

PY là một chương trình riêng biệt và phải được chọn trong quá trình cài đặt Python [giả sử bạn đang sử dụng vani Python từ python.org].Nếu bạn đang sử dụng một phân phối khác của Python [ví dụ: Anaconda], chương trình này có thể hoặc không được đưa vào. [assuming you are using vanilla Python from Python.org]. If you are using another distribution of Python [e.g. Anaconda], this program may or may not be included.

Bài Viết Liên Quan

Chủ Đề