Python Job Collector文件I / O

我正在尝试制作一个程序,您可以输入工作名称,类别和薪水,并且试图将输入的工作名称,类别和薪水写到文件中以存储数据,但是这样做有问题。


class Job(object):

    def __init__(self, jobName = '', jobCategory = '', jobPay = ''):

        self.jobName = jobName

        self.jobCategory = jobCategory

        self.jobPay = jobPay


    def getName(self):

        self.jobName = input("What is the Job Title: ")


    def getCategory(self):

        self.jobCategory = input("What is the Job Category: ")


    def getPay(self):

        self.jobPay = input("What is the Job Pay: ")


    def displayJob(self):

        print("Job: " + self.jobName)

        print("Job Category: " + self.jobCategory)

        print("Job Pay: " + self.jobPay)

        print()



def Main():

    global NewJob

    NewJob = Job()

    NewJob.getName()

    NewJob.getCategory()

    NewJob.getPay()

    print()

    NewJob.displayJob()

    myFile = open('newFile.txt', 'w')

    myFile.write(NewJob.displayJob())

    myFile.close()


Main()


眼眸繁星
浏览 197回答 2
2回答

猛跑小猪

displayJob()打印到标准输出,而不是文件。您必须返回一个字符串:def displayJob(self):    results = [        "Job: " + self.jobName,        "Job Category: " + self.jobCategory,        "Job Pay: " + self.jobPay    ]    return "\n".join(results)或将它file作为参数传递,但这看起来有些奇怪:import sysdef displayJob(self, file=sys.stdout):    print("Job: " + self.jobName, file=file)    print("Job Category: " + self.jobCategory, file=file)    print("Job Pay: " + self.jobPay, file=file)    print(file=file)...NewJob.displayJob(myFile)

守着星空守着你

假定问题出在什么都没有写入文件中。 Job.displayJob()不返回任何要写入文件的内容,仅将其显示到stdout。弄清楚您希望对象如何序列化到文件,并具有返回该字符串的方法。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python