我正在尝试编写一个函数来计算文件中的单词数。但由于某种原因,当我运行它时会发生错误:
def wc(filename):
"""returns the number of words in file filename."""
f = open(filename, 'r')
lines = f.readlines()
f.close()
total = 0
for line in lines:
words = line.split()
n = len(words)
total = total + int(n)
return total
错误说文件名未定义。
文件名为alice
。当我在右下角的控制台中输入wc(alice.txt)
时,它会返回:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'alice' is not defined
我已将文件与Python文件一起保存在USB驱动器上。
答案 0 :(得分:2)
我认为问题在于你如何调用这个函数。如果您使用:
wc(alice.txt)
您可能会收到错误,因为alice.txt
告诉python在当前环境中查找名为alice
的对象,然后尝试在其上查找txt
属性。如果不存在这样的对象或属性,则会出现错误。
您要做的是将alice.txt
作为字符串传递给您的函数。为此,您需要将其放在引号中:
wc("alice.txt")
答案 1 :(得分:0)
def wc(filename):
## Your stuff here
此function
需one arguement
,即filename
因此,您需要将filename
传递给此函数
以及relative
或absolute path
假设您的文件名是test_input.txt
,并且该文件名是最新的
工作目录,
print wc('test_input.txt')
如果您的文件不在当前工作目录中
print wc('/path/to/your/file/test_input.txt')