我正在尝试编写一个程序,该程序搜索目录中的文件列表,如果文件混乱,则会提醒我。混乱的文件通常显示为?--------- ? ? ? ? ? tesfile
我创建了一个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/