【发布时间】:2014-10-20 00:58:40
【问题描述】:
我在 python 中编写了这段代码,但它有很多错误,我希望你帮我检查一下,因为我是 python 的新手
for i in range(phones):
pho = int(raw_input( "Phone Number %d : " % (i+1)))
phNums.append(pho)
for name in range(phot):
name1 = '{0}/phone.txt'.format(pathname)
file = open(name1, 'w')
file.write = (pho)
file.close()
第一个问题,当我运行脚本时出现此错误
Traceback (most recent call last):
file.write = (pho)
AttributeError: 'file' object attribute 'write' is read-only
脚本应该做这个场景: 首先,用户给出 Perfixes 的数量和 progs 的数量 该脚本将计算它是 progs / 电话的照片 然后用户会给每个电话号码 该脚本将采用第一个数字并将其写入文件夹 1 2 3 上的文本文件“phone.txt”中,直到达到文件夹的照片数,然后移动到下一个数字并继续写入下一个文件夹数......等
请检查代码有什么问题
【问题讨论】:
-
将
for name in phNums[i]:更改为for name in phNums: -
file.write是一个函数(从技术上讲,write是file对象的一个方法),因此您可以像file.write('some text')一样调用它,将字符串some text写入文件。但是file.write = (pho)试图用pho中的任何内容替换该方法,在本例中为int。file对象足够聪明,不会让你这样做。顺便说一句,使用file作为您自己的变量的名称不是一个好主意,因为它是标准类的名称。