为了账号安全,请及时绑定邮箱和手机立即绑定

Python Job Collector文件I / O

Python Job Collector文件I / O

眼眸繁星 2021-03-30 04:43:38
我正在尝试制作一个程序,您可以输入工作名称,类别和薪水,并且试图将输入的工作名称,类别和薪水写到文件中以存储数据,但是这样做有问题。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()
查看完整描述

2 回答

?
猛跑小猪

TA贡献1858条经验 获得超8个赞

displayJob()打印到标准输出,而不是文件。您必须返回一个字符串:


def displayJob(self):

    results = [

        "Job: " + self.jobName,

        "Job Category: " + self.jobCategory,

        "Job Pay: " + self.jobPay

    ]


    return "\n".join(results)

或将它file作为参数传递,但这看起来有些奇怪:


import sys


def 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)


查看完整回答
反对 回复 2021-04-06
?
守着星空守着你

TA贡献1799条经验 获得超8个赞

假定问题出在什么都没有写入文件中。 Job.displayJob()不返回任何要写入文件的内容,仅将其显示到stdout。弄清楚您希望对象如何序列化到文件,并具有返回该字符串的方法。


查看完整回答
反对 回复 2021-04-06
  • 2 回答
  • 0 关注
  • 196 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信