这就是我所拥有的。
"""
Author: Michael Wellman (wellmanm)
Title: pa10.py
Description: Deciphering a document using pennymath.
"""
def decode(inputfile,outputfile):
**inputfile = open("superDuperTopSecretStudyGuide.txt","rU").read()
outputfile = open("translatedguide.txt","w")**
count = 0
aList = []
for words in inputfile:
aList.append(words)
charCount = len(aList)
**outpufile.write(aList)**
while count<charCount:
print aList[count],
if (aList[count].isalpha()):
if (ord(aList[count])>90):
count = count + ord(aList[count])-95
else:
count = count + ord(aList[count])-63
else:
if (aList[count].isdigit()):
count = count + ord(aList[count])-46
else:
count = count + 6
**inputfile.close()
outputfile.close()**
txt文件来自我的教授:P
我认为,加粗的部分是最重要的。
有什么想法吗?
答案 0 :(得分:2)
您是否尝试过运行代码?
我想如果您能收到有关该行的错误消息
outpufile.write(aList)
请参阅file.write()
方法的文档字符串明确说明:
写(str) - &gt;没有。将字符串str写入文件。
请注意,由于缓冲,之前可能需要flush()或close() 磁盘上的文件反映了写入的数据。
您提供的是list
而不是str
。尝试将其更改为
outpufile.write(''.join(aList))
或
outputfile.write(aList[-1])
或任何符合您需求的东西。此外,您永远不会清除列表,因此,当您遍历inputfile
时,您将编写第一个字符,然后是第一个字符和第二个字符,然后是前三个字符,等等。这是有意的吗?
最后,您尝试关闭的inputfile
实际上是str
,而不是文件,因为file.read()
方法会返回str
。
P.S。如果它是一个字符串,请永远不要调用您的变量inputfile
,如果它是一个字符,则永远不要调用words
。这对任何人都没有帮助。