gpt4 book ai didi

python - 使用 Python 提取 Linux 内部困惑的组或所有者

转载 作者:太空宇宙 更新时间:2023-11-04 05:00:14 28 4
gpt4 key购买 nike

我正在尝试编写一个程序,该程序可以搜索目录内的文件列表,并在存在困惑的文件时提醒我。乱七八糟的文件通常会这样显示 ?--------- ? ? ? ? ?测试文件

我创建了一个 Python 程序,它将搜索不同的文件所有者,并在发现其中一个文件由名为“?”的用户拥有时提醒我,但代码似乎无法正常工作。

这是我最初编写的尝试处理此问题的代码:

input_var=raw_input("Enter path:" )
files=[]
for file in os.listdir(input_var):
test=getpwuid(stat(file).st_uid).pw_name
if test=="?":
print("Critical: "+ file)

但是,当我在目录上运行它时,它经常会抛出错误

test=getpwuid(stat(file).st_uid).pw_name OSError: [Errno 2] No such file or directory: 'auth.log.3.gz'

在/home/目录上运行它的另一个示例:

File "./PythonTest.py", line 10, in <module>
test=getpwuid(stat(file).st_uid).pw_name
OSError: [Errno 2] No such file or directory: 'ubuntu'

有没有更好的方法来做到这一点,或者您有更好的方法吗?我相信错误是因为它无法匹配?与任何 UID,但我不完全确定。

谢谢

最佳答案

您需要获取 os.stat 的文件完整路径。

input_var=raw_input("Enter path:" )
files=[]

for dirpath, dirnames, filenames in os.walk(input_var):
for fname in filenames:
fullname = os.path.join(dirpath, fname)
print(pwd.getpwuid(os.stat(fullname).st_uid).pw_name)

关于python - 使用 Python 提取 Linux 内部困惑的组或所有者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35483529/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com