繁体   English   中英

文件程序读写python

[英]file program reading and writing python

endofprogram=False
try:
    filename=input('Enter file name: ')
    filename2=input('Enter file to write: ')
    infile=open(filename,'r')
    outfile=open(filename,'w')


    #IOError if file is not found
except IOError:
    print('End reading file--end of program')
    endofprogram=True

if(endofprogram==False):
    total=0
    alist=[]

    for line in infile:
        line=line.strip('\n')

        if(len(line)!=0)and line[0]!='#':
            name,grade=line.split('\t')
            total=total+float(grade)
            record=(name,float(grade))
            alist.append(record)

在这里,我试图写入一个新文件。

            outfile.write(name+'\n'+str(grade))

    average=total/len(alist)
    for item in alist:
        if item[1]<average:
            print(item)

    infile.close()

大家好。 我试图理解python中的文件程序,但有几个问题。

2.我写入新文件语句是否正确,因为它在第二行之后给出了“ ZeroDivisionError”?

3. name,grade=line.split('\\t')工作方式与name,grade=line.split()吗?

感谢每个人的努力。 谢谢

我对您的代码进行了一些更改并使其起作用:

1)我打开第一个文件,将其读入列表,然后将其关闭

2)另外,您将打开两个具有相同名称filename 这是一个错误。 我想你打算第二次open filename2 2

回答您的问题3):是的string.split()string.split('\\t')

这里是工作程序:

endofprogram=False
try:
    filename=str(input('Enter file name: '))
    filename2=str(input('Enter file to write: '))
    infile_temp=open(filename,'r')
    infile=infilea.readlines()
    infile_temp.close()
    outfile=open(filename2,'w')

    #IOError if file is not found
except IOError:
    print('End reading file--end of program')
    endofprogram=True

if(endofprogram==False):
    total=0
    alist=[]

    for line in infile:
        line=line.strip('\n')

        if(len(line)!=0)and line[0]!='#':
            name,grade=line.split()
            total=total+float(grade)
            record=(name,float(grade))
            alist.append(record)

            outfile.write(name+" "+str(grade)+'\n')

    average=total/len(alist)
    for item in alist:
        if item[1]<average:
            print item

希望帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM