当返回非零退出状态1

时间:2020-05-27 20:54:28

标签: python file find subprocess exit

我试图使用python子进程运行find命令,以便列出目录中存在的文件。其中某些文件/子目录没有访问权限。我只想跳过这些文件并列出我可以访问的文件。

从终端运行find / -type f只是提及权限被拒绝的目录,并继续打印可访问的文件。像这样

/var/cache/apt/pkgcache.bin
/var/cache/apt/srcpkgcache.bin
find: ‘/var/cache/apt/archives/partial’: Permission denied
/var/cache/apt/archives/lock
/var/cache/jaeger/jaeger-1.16.0-linux-amd64.tar.gz

我正尝试使用python子进程调用来模仿相同的行为,如下所示。但是,代码只是抛出一个异常Command '['find', '/', '-type', 'f']' returned non-zero exit status 1

def subprocess_check_output(command):
    try:
        output = subprocess.check_output(command, universal_newlines=True)
    except Exception as e:
        print(e)
        sys.exit(1)
    else:
        return output

command = ['find', dir, '-type', 'f']
accessible_files = subprocess_check_output(command).splitlines()

如何解决此问题以获取所有可访问文件的列表?

0 个答案:

没有答案