使用Python获取隐藏文件的文件统计信息(大小、创建时间…)
我在用Python查找隐藏文件的统计信息时遇到问题。 我尝试了使用Python获取隐藏文件的文件统计信息(大小、创建时间…),python,Python,我在用Python查找隐藏文件的统计信息时遇到问题。 我尝试了os.stat(file)和os.path.getSize(file),这基本上是同一个命令,但没有成功。Python不断返回FileNotFoundError。 排除(跳过)隐藏文件不是一个选项,我需要所有这些文件的数据 这是代码,在我的例子中路径是“home/atana” def go2path(self, path): file_list = [] for i in os.listdir(path):
os.stat(file)
和os.path.getSize(file)
,这基本上是同一个命令,但没有成功。Python不断返回FileNotFoundError。
排除(跳过)隐藏文件不是一个选项,我需要所有这些文件的数据
这是代码,在我的例子中路径是“home/atana”
def go2path(self, path):
file_list = []
for i in os.listdir(path):
print(os.path.join(path, i))
# if i.startswith('.') is False:
a = os.stat(os.path.join(path, i))
file_list.append([i, a.st_size, time.ctime(a.st_atime),
time.ctime(a.st_ctime)])
print( file_list)
这是函数的输出
/home/atana/.nuget/home/atana/Videos/home/atana/.thumbnails
/home/atana/.python\u history/home/atana/.WebStorm2018.1
/home/atana/packages-microsoft-prod.deb/home/atana/Downloads
/home/atana/Music/home/atana/.font/home/atana/.nv/home/atana/.java
/home/atana/Desktop/home/atana/examples.Desktop
/home/atana/.wget hsts/home/atana/Pictures/home/atana/.googlecookie
/home/atana/.mono/home/atana/Documents/home/atana/.steam
/home/atana/.dmrc/home/atana/.gconf/home/atana/.pki
/home/atana/.ViberPC/home/atana/.xsession errors/home/atana/.gnupg
/home/atana/.npm/home/atana/.templateengine/home/atana/snap
/home/atana/Templates/home/atana/.designer/home/atana/.local
/home/atana/.streampath
回溯(最近一次调用):文件“/media/atana/D:
150GB/programiranje/fm/main.py”,第203行,in
btn.clicked.connect(lambda事件,路径2=path:self.go2path(路径2))文件“/media/atana/D:150GB/programiranje/fm/main.py”,第215行,in
GO2路径
a=os.stat(os.path.join(path,i))FileNotFoundError:[Errno 2]没有这样的文件或目录:'/home/atana/.streampath'
好的,我只是想给出一个答案,似乎是另一个文件的链接被破坏了(被删除了或是别的什么),所以删除后一切正常 我猜您是在某种程度上删除/忘记了文件名的首字母
。您有.hidden
,但正在传递hidden
或接近的内容。发布一个关于如何获取文件名的小摘录,并stat
ing获取更多帮助。此外,检查隐藏文件的权限,可能是python程序没有足够的权限访问该文件。我看到了“.streampath”位于位置/home/atana/.local/home/atana/.streampath,但您的脚本试图从位置/home/atana/访问。所以,我想这就是问题所在。我发现了错误,不知何故链接被破坏了,所以我只是删除了文件,一切都很好。我建议你把你的发现作为答案发布,明天接受一些代表。