Created
December 31, 2017 04:51
-
-
Save DineshDevaraj/ade4a118ba31344838d92fd2a9ba4247 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import os | |
import time | |
from datetime import datetime | |
from stat import * | |
# | |
# 1. File type (directory / regular file) | |
# 2. File permission (owner, group, others) | |
# 3. Owner name | |
# 4. Group name | |
# 5. File size | |
# 6. Modified date | |
# 7. File name | |
# | |
def get_permission_flags(filestat) : | |
permission = '' | |
# first hypen - file type | |
if(S_ISREG(filestat.st_mode)) : | |
permission += '-' | |
elif(S_ISDIR(filestat.st_mode)) : | |
permission += 'd' | |
elif(S_ISLNK(filestat.st_mode)) : | |
permission += 'l' | |
else : | |
permission += '-' | |
# second hypen - read for user | |
if(S_IRUSR & filestat.st_mode) : | |
permission += 'r' | |
else : | |
permission += '-' | |
# third hypen - write for user | |
if(S_IWUSR & filestat.st_mode) : | |
permission += 'w' | |
else : | |
permission += '-' | |
# fourth hypen - execute for user | |
if(S_IXUSR & filestat.st_mode) : | |
permission += 'x' | |
else : | |
permission += '-' | |
# fifth hypen - read for group | |
if(S_IRGRP & filestat.st_mode) : | |
permission += 'r' | |
else : | |
permission += '-' | |
# sixth hypen - write for group | |
if not S_IWGRP & filestat.st_mode : | |
permission += 'w' | |
else : | |
permission += '-' | |
# seventh hypen - execute for group | |
if(S_IXGRP & filestat.st_mode) : | |
permission += 'x' | |
else : | |
permission += '-' | |
# 7th hypen - read for others | |
if(S_IROTH & filestat.st_mode) : | |
permission += 'r' | |
else : | |
permission += '-' | |
# 8th hypen - write for others | |
if not S_IWOTH & filestat.st_mode : | |
permission += 'w' | |
else : | |
permission += '-' | |
# 9th hypen - excute for others | |
if(S_IXOTH & filestat.st_mode) : | |
permission += 'x' | |
else : | |
permission += '-' | |
return permission | |
def main() : | |
filelist = os.listdir() | |
for filepath in filelist : | |
filestat = os.stat(filepath) | |
# print(filestat) | |
dateobj = datetime.fromtimestamp(filestat.st_mtime) | |
datestr = dateobj.strftime("%b %d %H:%M") | |
# this function call will handle all the hypen work | |
permission = get_permission_flags(filestat) | |
print("%s %s %s %d %s %s" % (permission, filestat.st_uid, | |
filestat.st_gid, filestat.st_size, datestr, filepath)) | |
main() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment