Python 3.4 加载数据目录
Posted
技术标签:
【中文标题】Python 3.4 加载数据目录【英文标题】:Python 3.4 load data directory 【发布时间】:2015-06-08 14:33:18 【问题描述】:你好,了解 Python 的神圣人士。 我目前正在学习 Python 3.4 并且遇到了问题。 关于加载函数,即使我用正确的txt文件名使用这个函数,也会出现错误。
results = []
with open('text.txt') as inputfile:
for line in inputfile:
results.append(line.strip().split(','))
Traceback (most recent call last):
File "F:/CSSE1001/Assignments/SunMum/030415.py", line 2, in <module>
with open('stations.txt') as inputfile:
FileNotFoundError: [Errno 2] No such file or directory: 'text.txt'
看起来 Python 找不到 text.txt 的位置.. 有人可以告诉我如何设置函数的目录吗?谢谢。
【问题讨论】:
【参考方案1】:您可能正在寻找os.chdir(path)。或者,您可以使用os.path.join(path, *paths) 动态构建绝对路径以移交给open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None) 函数。也可能是您的 text.txt
文件与您的 030415.py
文件 (F:/CSSE1001/Assignments/SunMum
) 不在同一目录中。
更新:您可以通过多种方式加载整个文件。
如果你想以文本的形式读取文件的所有内容,你可以写data = open('text.txt', 'rt').read()
如果要获取文件的所有二进制数据,可以使用data = open('text.txt', 'rb').read()
如果您想要文件的行,获取它们的简单方法是使用lines = tuple(open('text.txt', 'rt'))
如果你想要没有换行符的行,你可以输入lines = open('text.txt', 'rt').read().split('\n')
如果您想在避免换行的同时高效处理行,可以使用for line in (line.strip('\n') for line in open('text.txt', 'rt')):
来启动 for 循环。
如果您使用的是 comma-separated values,您可能应该查看 Python 提供的 csv 模块的文档。
【讨论】:
感谢您的回答。但我还有另一个问题。当我应用该代码时,我无法获取 txt 文件的全部内容。有没有办法加载txt文件的全部内容?再次感谢您的回答。 @Charlie 添加了几个代码示例用于处理您的txt
文件。
感谢您的关心,它似乎已加载,但我无法访问它。我知道我应该使用列表,但我无法掌握。您能否提供一些提示/提示/指导?非常感谢。
@Charlie 您能否将文件内容粘贴到Pastebin,然后描述您应该如何处理该文件?
pastebin.com/kpPmKwTE 这包含我试图加载到 python 的单词列表。我使用了open函数,之后使用了print函数,这给了我这个 <_io.textiowrapper name="text.txt" mode="r" encoding="cp1252"> 似乎加载了,但我很挣扎找到它的内容。再次感谢您的关心。以上是关于Python 3.4 加载数据目录的主要内容,如果未能解决你的问题,请参考以下文章
在 python 3.4 中导入 tensorflow 时出错“无法加载本机 TensorFlow 运行时”