这是我的代码(来自文本文件的猪拉丁语翻译):
f = open('Assignment_4.txt', 'r+')
for line in f:
print(line)
def pigLatin():
var = 'ay'
wordL = f.lower()
firstLetter = wordL[0]
pigLatin = wordL + firstLetter + var
pigLatin = pigLatin[1:]
print(pigLatin)
它适用于已定义的字符串但不会胜任该文件。感谢帮助!
答案 0 :(得分:0)
<强>点数:强>
lower()
适用于字符串。您正尝试使用文件句柄f
。这就是您收到此错误的原因。 pigLatin()
调用pigLatin(line)
。所以,现在,pigLatin()函数需要一个参数。f.close()
。如果您使用with
语句打开文件,那将是。内嵌评论的代码:
def pigLatin(stuff_to_be_changed):
var = 'ay'
wordL = stuff_to_be_changed.lower()
firstLetter = wordL[0]
pigLatin = wordL + firstLetter + var
pigLatin = pigLatin[1:]
print(pigLatin)
#For string
string = "I am to change"
#Call function
pigLatin(string)
f = open('Assignment_4.txt', 'r+')
#For file
for line in f:
print(line)
#Call function
pigLatin(line)
#Close the file
f.close()
答案 1 :(得分:0)
错误非常正确 - 文件对象没有lower()
方法 - 在您使用函数之前,您需要read
文件中的一行文字和{{1}它分成单独的单词。 (请注意,对变量和方法使用相同的名称绝不是一个好主意,因为它可能会导致混淆。)