Python作业收集器文件I/O
我正在尝试制作一个程序,您可以输入工作名称、类别和薪资,我正在尝试将输入的工作名称、类别和薪资写入一个文件以存储数据,但我在这样做时遇到了问题Python作业收集器文件I/O,python,file,class,function,file-io,Python,File,Class,Function,File Io,我正在尝试制作一个程序,您可以输入工作名称、类别和薪资,我正在尝试将输入的工作名称、类别和薪资写入一个文件以存储数据,但我在这样做时遇到了问题 class Job(object): def __init__(self, jobName = '', jobCategory = '', jobPay = ''): self.jobName = jobName self.jobCategory = jobCategory self.jobPay
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()
假设问题是什么都没有写入文件
Job.displayJob()
不返回任何要写入文件的内容,它只向stdout显示。找出您希望对象序列化到文件的方式,并使用返回该字符串的方法。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)
什么样的问题?还有,Python既不是Java也不是C#