我想使用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
有人可以帮我吗?我将不胜感激!