日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

Python第二十二天 stat模块 os.chmod方法 os.stat方法 pwd grp模块

發(fā)布時(shí)間:2025/3/19 python 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python第二十二天 stat模块 os.chmod方法 os.stat方法 pwd grp模块 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Python第二十二天? ?stat模塊? os.chmod方法? os.stat方法? pwd? grp模塊

?

stat模塊描述了os.stat(filename)返回的文件屬性列表中各值的意義,根據(jù)stat模塊讀取os.stat()中的值的意思
簡單來說,os.stat是將文件的相關(guān)屬性讀出來,然后用stat模塊來處理

?

os.stat

返回一個(gè)類似字典對象(stat_result對象,包含10個(gè)元素),結(jié)果類型是posix.stat_result

stat(path) -> stat result?

?

獲取stat結(jié)果

st = os.stat('/tmp/aa.py') print st posix.stat_result(st_mode=33188, st_ino=385537, st_dev=64513L, st_nlink=1, st_uid=0, st_gid=0, st_size=1243, st_atime=1505466749, st_mtime=1505870370, st_ctime=1505870370)st_mode(權(quán)限模式) st_ino(inode number) st_dev(device) st_nlink(number of hard links) st_uid(所有用戶的user id) st_gid(所有用戶的group id) st_size(文件大小,以位為單位) st_atime(最近訪問的時(shí)間) st_mtime(最近修改的時(shí)間) st_ctime(創(chuàng)建的時(shí)間)os.stat的返回類型 type(st) posix.stat_resultst = os.stat('/tmp/aa.py') st.st_ctime stat.ST_CTIME(st.st_ctime)st.st_ino stat.ST_INO(st.st_ino)st.st_dev stat.ST_DEV(st.st_dev)st.st_nlink stat.ST_NLINK(st.st_nlink)st.st_uid stat.ST_UID(st.st_uid)st.st_gid stat.ST_GID(st.st_gid)st.st_size stat.ST_SIZE(st.st_size)st.st_atime stat.ST_ATIME(st.st_atime)st.st_mtime stat.ST_MTIME(st.st_mtime)st.st_ctime stat.ST_CTIME(st.st_ctime)st.st_mode stat.S_IMODE(st.st_mode)

?

?


stat模塊

?

stat 模塊定義用來測試文件類型的函數(shù)
stat.S_ISDIR(mode)
  判斷文件是不是一個(gè)目錄。

stat.S_ISCHR(mode)
  判斷文件是不是一個(gè)字符型設(shè)備。

stat.S_ISBLK(mode)
  判斷文件是不是一個(gè)塊設(shè)備。

stat.S_ISREG(mode)
  判斷mode是不是來自一個(gè)普通文件。

stat.S_ISFIFO(mode)
  判斷mode是不是來自一個(gè)FIFO(如:具名管道)

stat.S_ISLNK(mode)
  判斷mode是不是來自一個(gè)符號(hào)鏈接。

stat.S_ISSOCK(mode)
  判斷mode是不是來自一個(gè)套接字。

stat.S_IMODE(mode)
  #返回文件權(quán)限的chmod格式。

stat.S_IFMT(mode)  
 ? 返回文件的類型



例子
st = os.stat('/tmp/aa.py').st_mode
oct(stat.S_IMODE(st))
'0755'



stat 模塊的標(biāo)識(shí)符,可以用在os.chmod()方法中:

stat.S_ISUID: Set user ID on execution.????????????????????? 不常用
stat.S_ISGID: Set group ID on execution.??????????????????? 不常用
stat.S_ENFMT: Record locking enforced.????????????????????????????????????????? 不常用
stat.S_ISVTX: Save text image after execution.??????????????????????????????? 在執(zhí)行之后保存文字和圖片
stat.S_IREAD: Read by owner.?????????????????????????????????????????????????????????? 對于擁有者讀的權(quán)限
stat.S_IWRITE: Write by owner.???????????????????????????????????????????????????????? 對于擁有者寫的權(quán)限
stat.S_IEXEC: Execute by owner.?????????????????????????????????????????????????????? 對于擁有者執(zhí)行的權(quán)限
stat.S_IRWXU: Read, write, and execute by owner.????????????????????????? 對于擁有者讀寫執(zhí)行的權(quán)限
stat.S_IRUSR: Read by owner.??????????????????????????????????????????????????????????? 對于擁有者讀的權(quán)限
stat.S_IWUSR: Write by owner.????????????????????????????????????????????????????????? 對于擁有者寫的權(quán)限
stat.S_IXUSR: Execute by owner.?????????????????????????????????????????????????????? 對于擁有者執(zhí)行的權(quán)限
stat.S_IRWXG: Read, write, and execute by group.??????????????????????????       對于同組的人讀寫執(zhí)行的權(quán)限
stat.S_IRGRP: Read by group.???????????????????????????????????????????????????????????? 對于同組讀的權(quán)限
stat.S_IWGRP: Write by group.?????????????????????????????????????????????????????????? 對于同組寫的權(quán)限
stat.S_IXGRP: Execute by group.??????????????????????????????????????????????????????? 對于同組執(zhí)行的權(quán)限
stat.S_IRWXO: Read, write, and execute by others.????????????????????????? 對于其他組讀寫執(zhí)行的權(quán)限
stat.S_IROTH: Read by others.?????????????????????????????????????????????????????????? 對于其他組讀的權(quán)限
stat.S_IWOTH: Write by others.???????????????????????????????????????????????????????? 對于其他組寫的權(quán)限
stat.S_IXOTH: Execute by others.????????????????????????????????????????????????????? 對于其他組執(zhí)行的權(quán)限


?

?


?

os.chmod() 方法

os.chmod() 方法用于更改文件或目錄的權(quán)限。
語法
chmod()方法語法格式如下,該方法沒有返回值:
os.chmod(path, mode)


參數(shù)
path -- 文件名路徑或目錄路徑。
flags -- 可用以下選項(xiàng)按位或進(jìn)行權(quán)限疊加。


stat.S_IXOTH: 其他用戶有執(zhí)行權(quán)0o001
stat.S_IWOTH: 其他用戶有寫權(quán)限0o002
stat.S_IROTH: 其他用戶有讀權(quán)限0o004
stat.S_IRWXO: 其他用戶有全部權(quán)限(權(quán)限掩碼)0o007
stat.S_IXGRP: 組用戶有執(zhí)行權(quán)限0o010
stat.S_IWGRP: 組用戶有寫權(quán)限0o020
stat.S_IRGRP: 組用戶有讀權(quán)限0o040
stat.S_IRWXG: 組用戶有全部權(quán)限(權(quán)限掩碼)0o070
stat.S_IXUSR: 擁有者具有執(zhí)行權(quán)限0o100
stat.S_IWUSR: 擁有者具有寫權(quán)限0o200
stat.S_IRUSR: 擁有者具有讀權(quán)限0o400
stat.S_IRWXU: 擁有者有全部權(quán)限(權(quán)限掩碼)0o700
stat.S_ISVTX: 目錄里文件目錄只有擁有者才可刪除更改0o1000
stat.S_ISGID: 執(zhí)行此文件其進(jìn)程有效組為文件所在組0o2000
stat.S_ISUID: 執(zhí)行此文件其進(jìn)程有效用戶為文件所有者0o4000
stat.S_IREAD: windows下設(shè)為只讀
stat.S_IWRITE: windows下取消只讀

?

使用os.chmod()執(zhí)行chmod +x

# 獲取到文件的權(quán)限模式,然后將原來權(quán)限模式和新權(quán)限模式用或連接起來就可以實(shí)現(xiàn)chmod+x stmode = os.stat('/tmp/aa.py').st_mode os.chmod('/tmp/aa.py', stmode | stat.S_IXOTH|stat.S_IXGRP |stat.S_IXUSR)

?


?

pwd模塊和grp模塊

?

pwd模塊,提供了一個(gè)Unix 密碼數(shù)據(jù)庫(/etc/passwd文件)的接口,這個(gè)數(shù)據(jù)庫包含本地機(jī)器用戶賬戶信息。

返回對應(yīng)uid的用戶信息?

pwd.getpwuid(uid)

返回對應(yīng)name的用戶信息?

pwd.getpwnam(username)

?

獲取返回結(jié)果中的uid

pwd.getpwnam(username) pwd.struct_passwd(pw_name='mysql', pw_passwd='x', pw_uid=500, pw_gid=500, pw_gecos='', pw_dir='/home/mysql', pw_shell='/sbin/nologin')def setPrint(): print pwd.getpwnam('mysql') list=[] for i in pwd.getpwnam('mysql'): print i# 通過列表保存返回的結(jié)果 list.append(i) # print type(aa)print list uid = list[2] # 列表第三個(gè)元素就是uid print 'uid %s' %(uid)

返回所有用戶信息

pwd.getpwall()

?返回所有用戶信息

import pwd def get_user():all_user = {}for user in pwd.getpwall():all_user[user[0]] = all_user[user[2]] = userreturn all_user def userinfo(uid):return get_user()[uid]

?

?

grp模塊,提供了一個(gè)Unix 用戶組/group(/etc/group文件)數(shù)據(jù)庫的接口

返回對應(yīng)gid的組信息?

grp.getgrgid(gid)

返回對應(yīng)group name的組信息?

grp.getgrname(groupname)

返回所有組信息?

grp.getgrall()

?

總結(jié)

以上是生活随笔為你收集整理的Python第二十二天 stat模块 os.chmod方法 os.stat方法 pwd grp模块的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。