我正在使用sci-kit中的load_files
函数学习加载2个简单的文本文档。
设置很简单。我的文件名为file1
和file2
。
第一个文件包含文本pig cow chicken
,而第二个文件包含文本pig car truck
。
他们都住在这里:
/home/me/Dropbox/test
到目前为止一切顺利。
现在,我使用load_files
函数,
text_data = load_files('/home/me/Dropbox/test', encoding='latin-1')
接下来,我检查一下
text_data.filenames
......事实证明我得到了一些奇怪的额外文件!
[ '/home/me/Dropbox/test/folder1/document2.txt'
'/home/me/Dropbox/test/folder1/document2.txt~'
'/home/me/Dropbox/test/folder1/document1.txt~'
'/home/me/Dropbox/test/folder1/document1.txt']
我查看了
text_data.data
得到:
[u'pig\ncar\ntruck\n', u'', u'', u'pig\ncow\nchicken\n']
我认为这里有一些隐藏文件或临时文件或某些类型的东西。我的文件都没有打开。我重新启动了iPython,重新启动了笔记本电脑等。我使用ls -lart
并在目录中看到它们。
我使用的是Ubuntu 13.10。
我想知道摆脱它们的好方法,这将解决这个特定情况下的问题,但除此之外,我想知道为什么会发生这种情况以及如何确保它不再发生。这些隐藏文件背后的机制是什么,以及为什么函数会加载它们?
提前致谢。
谢谢!
答案 0 :(得分:3)
这些文件很可能是文本编辑器自动创建的备份文件,例如vim。
要以递归方式删除当前目录下以~
结尾的所有文件,您可以使用以下命令:
find -name "*~" -delete
现在的问题是你是否真的想用sklearn.datasets.load_files
加载文件。它旨在加载带有类别的文本文件作为子文件夹名称,这似乎不是您的目录的情况。如果您只想加载两个简单的文本文档,内置的open
函数是否就足够了?