Python 打开文本文件以在spyder中使用
我需要能够在我的文档中使用文本文件中的文本,但是无论我尝试什么,当我调用python时,它都不会识别文本文件 我需要写几行代码,计算出文本文件的字数、每行数字的平均值以及其他各种数据。 要做到这一点并运行代码,我需要使用我创建的文本文件,我称之为test.txt。 但是,当我运行Python 打开文本文件以在spyder中使用,python,python-3.x,Python,Python 3.x,我需要能够在我的文档中使用文本文件中的文本,但是无论我尝试什么,当我调用python时,它都不会识别文本文件 我需要写几行代码,计算出文本文件的字数、每行数字的平均值以及其他各种数据。 要做到这一点并运行代码,我需要使用我创建的文本文件,我称之为test.txt。 但是,当我运行文件名设置为test.txt的代码时(以及我尝试过的其他版本),它告诉我名称错误:未定义名称“text” 下面是我为字数统计写的一行的例子 def wc(filename): f = open('filename
文件名设置为test.txt的代码时(以及我尝试过的其他版本),它告诉我名称错误:未定义名称“text”
下面是我为字数统计写的一行的例子
def wc(filename):
f = open('filename', 'r')
w = f.split()
return len(w)
如果我调用a='ab c de fgh'
并执行wc(a)
我得到了正确的答案
现在我需要做同样的事情,但是有来自文本文件的'a'
谢谢您的帮助。您试图评估
w = f.split()
从文件对象f
获取单词
你想要的是
w = f.read().split()
因此,您正在拆分来自f
的字符串
编辑
你写的
AttributeError:“内置函数”或“方法”对象没有属性“拆分”是我现在返回的错误
我不明白你的话。
我把你问题的前两段放进一个文本文件。
我运行了这个程序:
#! /usr/bin/env python
def wc(filename):
f = open(filename, 'r')
w = f.read().split()
return len(w)
if __name__ == '__main__':
fspec = input('Count words in which file? ')
print(wc(fspec))
运行该命令,再加上wc
,将产生以下结果:
108
3 108 525
对我来说,似乎有一百多个字
我写了.read().split()
,它不同于.read.split()
。
您确定调用了read
函数吗?
使用(
)
括号会有所不同
表达式的求值方式。'filename'
和filename
是非常不同的。另外,您的代码在任何地方都没有提到名称text
,因此它不会产生您所说的错误。请发布您正在运行的实际代码。重点是即使我打开了(text.txt,'r'),我也无法让python将我的文件识别为现有的文本文件。如果我在控制台wc(text.txt)中输入,它在第一步失败,无法找到文本文件。也许值得一提的是,我试过在文件名前后加上或不加上“”。同样,text.txt
和'text.txt'
非常不同。你能详细说明一下吗?基本上,我需要知道的是如何在python中正确打开一个文本文件,一旦我成功了,我应该能够完成其余的工作。基本上,open
希望它的第一个参数是一个字符串,比如'some/kind/of/file/path.thing'
,但是您正在键入text.txt
,试图检索变量text
的名为txt
的属性。AttributeError:“内置函数”或“方法”对象没有属性“拆分”是我现在返回的错误。