python實現linux下ls l的命令

2021-10-16 11:14:31 字數 2568 閱讀 9325

#!/usr/bin/env python3

#coding=utf-8

import os

import shutil

from stat import

*import pwd

import grp

import traceback

import time

defllist

(path=

'.')

:try

:for name in os.listdir(path)

:# get stat info

si = os.stat(os.path.join(path,name)

)# print file type

if(s_isreg(si.st_mode)):

print

("-"),

elif

(s_islnk(si.st_mode)):

print

("l"),

elif

(s_isdir(si.st_mode)):

print

("d"),

# print rwx permission

perstr =

"" perstr +=

("r"

if(s_irusr & si.st_mode)

else

"-")

perstr +=

("w"

if(s_iwusr & si.st_mode)

else

"-")

perstr +=

("x"

if(s_ixusr & si.st_mode)

else

"-")

perstr +=

("r"

if(s_irgrp & si.st_mode)

else

"-")

perstr +=

("w"

if(s_iwgrp & si.st_mode)

else

"-")

perstr +=

("x"

if(s_ixgrp & si.st_mode)

else

"-")

perstr +=

("r"

if(s_iroth & si.st_mode)

else

"-")

perstr +=

("w"

if(s_iwoth & si.st_mode)

else

"-")

perstr +=

("x"

if(s_ixoth & si.st_mode)

else

"-")

print

(perstr)

,# print links num

print(""

.format

(si.st_nlink)),

# get user name

#print(" ", pwd.getpwuid(si.st_uid).pw_name),

# > 左對齊 >右對齊 ^居中對齊

print(""

.format

(pwd.getpwuid(si.st_uid)

.pw_name)),

# get group name

print(""

.format

(grp.getgrgid(si.st_gid)

.gr_name)),

# print file size

# > 左對齊 >右對齊 ^居中對齊

print(""

.format

(si.st_size)),

print

(time.ctime(si.st_mtime)),

print

(name)

except exception as e:

print

(traceback.format_exc())

print

(, e)

if(__name__ ==

"__main__"):

parser = optionparser(

) parser.add_option(

'-p'

,'--path'

, default=

'.',

help

='input the path you want list,default is .'

) opts, args = parser.parse_args(

) llist(opts.path)

支援-p引數輸入想要顯示的路徑

除了顯示時間的方式和顯示順序不一樣,其他都是一樣的

stat模組

pwd模組

grp模組

在Windows下利用Python控制Linux

在windows下如何能控制linux,大概的想法肯定是ssh,的確,python也提供了對應的庫,以下先提供乙個例子,通過python獲得xenserver的uuid import paramiko hostname 10.10.10.100 port 22 username root passw...

練手,用Python實現Linux下的tree命令

用python實現了linux下的tree命令的基本功能,沒有實現各種引數。寫得不好,歡迎拍磚。覺得原來的沒有python的風格,換了乙個寫法,感覺格式不好看。新的 import os def tree path def tree iter path,prefix path os.path.absp...

Python實現Linux環境下的ls命令

在linux下使用ls命令結合正規表示式,能夠高效地進行檔案搜尋,並通過引數操作檔案,於是就想用python實現這個功能以便在windows上使用 import os import re import sys path os.getcwd substr raw input the sub strin...