列出目录但文件存在时找不到文件错误

时间:2018-09-09 17:29:30

标签: linux python-3.x file-not-found

我想使用Python脚本在Linux中列出整个目录,但是它不适用于某些文件,我也不知道为什么。

这是简短的脚本,列出了传递给该函数的目录:

import os

def main():
    files = os.listdir('/')
    for f in files:
        print(f)
        print(oct(os.stat(f).st_mode)[-3:])

if __name__ == '__main__':
    main()

我给你一些问题的例子。 1)我要打印脚本找到的文件的名称。 2)我想将特权打印到该文件。

当我使用根目录作为函数的参数执行脚本时,会产生FileNotFoundError:

shizzer@shizzer-Lenovo-ideapad-100-15IBD ~ $ python3 /tmp/example.py
initrd.img
Traceback (most recent call last):
  File "/tmp/example.py", line 12, in <module>
    main()
  File "/tmp/example.py", line 9, in main
    print(oct(os.stat(f).st_mode)[-3:])
FileNotFoundError: [Errno 2] No such file or directory: 'initrd.img'

您可以看到找到该文件是因为其名称位于stdout上- initrd.img

此外,我决定向您展示 ls -a Linux命令,以证明 initrd.img 文件确实存在于根目录中:

shizzer@shizzer-Lenovo-ideapad-100-15IBD / $ ls -a
    .    boot   etc         lib    libx32      mnt   root  srv  usr
    ..   cdrom  home        lib32  lost+found  opt   run   sys  var
    bin  dev    initrd.img  lib64  media       proc  sbin  tmp  vmlinuz

有人可以帮我吗?我将不胜感激!

0 个答案:

没有答案