總結(jié)8-08

Python os.access() 方法

語法:

access()方法語法格式如下

os.access(path, mode):

path -- 要用來檢測是否有訪問權(quán)限的路徑挽荠。

mode -- mode為F_OK,測試存在的路徑,或者它可以是包含R_OK, W_OK和X_OK或者R_OK, W_OK和X_OK其中之一或者更多。

"""
os.F_OK: 作為access()的mode參數(shù),測試path是否存在楔壤。
os.R_OK: 包含在access()的mode參數(shù)中 , 測試path是否可讀。
os.W_OK 包含在access()的mode參數(shù)中 算墨, 測試path是否可寫。
os.X_OK 包含在access()的mode參數(shù)中 汁雷,測試path是否可執(zhí)行净嘀。
"""
import os, sys
ret = os.access("files/os_sys.txt", os.F_OK)
print("F_OK - 返回值 %s"% ret)

ret = os.access("files/os_sys.txt", os.R_OK)
print("R_OK - 返回值 %s"% ret)

ret = os.access("files/os_sys.txt", os.W_OK)
print("W_OK - 返回值 %s"% ret)

ret = os.access("files/os_sys.txt", os.X_OK)
print("X_OK - 返回值 %s"% ret)

os.chdir() 方法用于改變當(dāng)前工作目錄到指定的路徑

語法

chdir()方法語法格式:os.chdir(path)

參數(shù) - path -- 要切換到的新路徑。

返回值 - 如果允許訪問返回 True , 否則返回False

path = "files/os_sys.txt"

查看當(dāng)前工作目錄

retval = os.getcwd()
print ("當(dāng)前工作目錄為 %s" % retval)

修改當(dāng)前工作目錄

os.chdir(path)

查看修改后的工作目錄

retval = os.getcwd()

print ("目錄修改成功 %s" % retval)

概述

os.chflags() 方法用于設(shè)置路徑的標(biāo)記為數(shù)字標(biāo)記侠讯。多個標(biāo)記可以使用 OR 來組合起來挖藏。

只支持在 Unix 下使用。

語法

chflags()方法語法格式:os.chflags(path, flags)

"""
參數(shù)
path -- 文件名路徑或目錄路徑厢漩。

flags -- 可以是以下值:

stat.UF_NODUMP: 非轉(zhuǎn)儲文件
stat.UF_IMMUTABLE: 文件是只讀的
stat.UF_APPEND: 文件只能追加內(nèi)容
stat.UF_NOUNLINK: 文件不可刪除
stat.UF_OPAQUE: 目錄不透明膜眠,需要通過聯(lián)合堆棧查看
stat.SF_ARCHIVED: 可存檔文件(超級用戶可設(shè))
stat.SF_IMMUTABLE: 文件是只讀的(超級用戶可設(shè))
stat.SF_APPEND: 文件只能追加內(nèi)容(超級用戶可設(shè))
stat.SF_NOUNLINK: 文件不可刪除(超級用戶可設(shè))
stat.SF_SNAPSHOT: 快照文件(超級用戶可設(shè))
"""
import os,stat

path = "files/os_sys.txt"

為文件設(shè)置標(biāo)記,使得它不能被重命名和刪除

flags = stat.SF_NOUNLINK
retval = os.chflags( path, flags )
print ("返回值: %s" % retval)

概述

os.chmod() 方法用于更改文件或目錄的權(quán)限溜嗜。

語法

chmod()方法語法格式:os.chmod(path, mode)

該方式?jīng)]有返回值

"""
參數(shù)
path -- 文件名路徑或目錄路徑宵膨。

flags -- 可用以下選項按位或操作生成, 目錄的讀權(quán)限表示可以獲取目錄里文件名列表炸宵, 辟躏,執(zhí)行權(quán)限表示可以把工作目錄切換到此目錄 ,刪除添加目錄里的文件必須同時有寫和執(zhí)行權(quán)限 土全,文件權(quán)限以用戶id->組id->其它順序檢驗,最先匹配的允許或禁止權(quán)限被應(yīng)用捎琐。

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("files/os_sys.txt", stat.S_IXGRP)

設(shè)置文件可以被其他用戶寫入

os.chmod("files/os_sys.txt", stat.S_IWOTH)

print ("修改成功!!")

概述

os.dup2() 方法用于將一個文件描述符 fd 復(fù)制到另一個 fd2。

Unix, Windows 上可用裹匙。

語法

dup2()方法語法格式:os.dup2(fd, fd2);

參數(shù)

fd -- 要被復(fù)制的文件描述符

fd2 -- 復(fù)制的文件描述符

f = open('txt', 'a')

將這個文件描述符代表的文件瑞凑,傳遞給 1 描述符指向的文件(也就是 stdout)

os.dup2(f.fileno(), 1)

關(guān)閉文件

f.close()

print 輸出到標(biāo)準(zhǔn)輸出流,就是文件描述符1

print('runoob')
print('google')

概述

os.fchown() 方法用于修改一個文件的所有權(quán)概页,這個函數(shù)修改一個文件的用戶ID和用戶組ID籽御,該文件由文件描述符fd指定。

Unix上可用。

語法

fchown()方法語法格式:os.fchown(fd, uid, gid)

參數(shù)

fd -- 文件描述符

uid -- 文件所有者的用戶id

gid -- 文件所有者的用戶組id

打開文件 "/tmp/foo.txt"

fd = os.open("files/os_sys.txt", os.O_RDONLY)

設(shè)置文件的用戶 id 為 100

os.fchown(fd, 100, -1)

設(shè)置文件的用戶組 id 為 50

os.fchown(fd, -1, 50)

print("修改權(quán)限成功!!")

關(guān)閉文件

os.close(fd)

概述

os.ftruncate() 裁剪文件描述符fd對應(yīng)的文件, 它最大不能超過文件大小篱蝇。

Unix上可用贺待。

語法

ftruncate()方法語法格式:os.ftruncate(fd, length)

參數(shù)

fd -- 文件的描述符。

length -- 要裁剪文件大小零截。

打開文件

fd = os.open( "files/os_sys.txt", os.O_RDWR|os.O_CREAT )

寫入字符串

os.write(fd, "This is test - This is test")

使用 ftruncate() 方法

os.ftruncate(fd, 10)

讀取內(nèi)容

os.lseek(fd, 0, 0)
str = os.read(fd, 100)
print ("讀取的字符串是 : ", str)

關(guān)閉文件

os.close( fd)

print ("關(guān)閉文件成功!!")

概述

os.makedev() 方法用于以major和minor設(shè)備號組成一個原始設(shè)備號麸塞。

語法

makedev()方法語法格式:os.makedev(major, minor)

參數(shù)

major -- Major 設(shè)備號

minor -- inor 設(shè)備號

path = "files/os_sys.txt"

獲取元組

info = os.lstat(path)

獲取 major 和 minor 設(shè)備號

major_dnum = os.major(info.st_dev)
minor_dnum = os.minor(info.st_dev)

print ("Major 設(shè)備號 :", major_dnum)
print ("Minor 設(shè)備號 :", minor_dnum)

生成設(shè)備號

dev_num = os.makedev(major_dnum, minor_dnum)
print ("設(shè)備號 :", dev_num)

概述

os.pathconf() 方法用于返回一個打開的文件的系統(tǒng)配置信息。

Unix 平臺下可用涧衙。

語法

fpathconf()方法語法格式:os.fpathconf(fd, name)

"""
fd -- 文件描述符

name -- 檢索的系統(tǒng)配置的值哪工,它也許是一個定義系統(tǒng)值的字符串,這些名字在很多標(biāo)準(zhǔn)中指定(POSIX.1, Unix 95, Unix 98, 和其它)弧哎。
一些平臺也定義了一些額外的名字雁比。這些名字在主操作系統(tǒng)上pathconf_names的字典中。對于不在pathconf_names中的配置變量撤嫩,傳遞一個數(shù)字作為名字偎捎,也是可以接受的。

"""

打開文件

fd = os.open( "files/os_sys.txt", os.O_RDWR|os.O_CREAT )

print ("%s" % os.pathconf_names)

獲取文件最大連接數(shù)

no = os.fpathconf(fd, 'PC_LINK_MAX')
print ("Maximum number of links to the file. :%d" % no)

獲取文件名最大長度

no = os.fpathconf(fd, 'PC_NAME_MAX')
print ("Maximum length of a filename :%d" % no)

關(guān)閉文件

os.close( fd)

print ("關(guān)閉文件成功!!")

概述

os.rename() 方法用于命名文件或目錄序攘,從 src 到 dst,如果dst是一個存在的目錄, 將拋出OSError茴她。

語法

rename()方法語法格式:os.rename(src, dst)

參數(shù)

src -- 要修改的目錄名

dst -- 修改后的目錄名

列出目錄

print ("目錄為: %s"%os.listdir(os.getcwd()))

重命名

os.rename("test","test2")

print ("重命名成功。")

列出重命名后的目錄

print ("目錄為: %s" %os.listdir(os.getcwd()))

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末程奠,一起剝皮案震驚了整個濱河市丈牢,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌瞄沙,老刑警劉巖己沛,帶你破解...
    沈念sama閱讀 211,561評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異距境,居然都是意外死亡申尼,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評論 3 385
  • 文/潘曉璐 我一進(jìn)店門垫桂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來晶姊,“玉大人,你說我怎么就攤上這事伪货。” “怎么了钾怔?”我有些...
    開封第一講書人閱讀 157,162評論 0 348
  • 文/不壞的土叔 我叫張陵碱呼,是天一觀的道長。 經(jīng)常有香客問我宗侦,道長愚臀,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,470評論 1 283
  • 正文 為了忘掉前任矾利,我火速辦了婚禮姑裂,結(jié)果婚禮上馋袜,老公的妹妹穿的比我還像新娘。我一直安慰自己舶斧,他們只是感情好欣鳖,可當(dāng)我...
    茶點故事閱讀 65,550評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著茴厉,像睡著了一般泽台。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上矾缓,一...
    開封第一講書人閱讀 49,806評論 1 290
  • 那天怀酷,我揣著相機(jī)與錄音,去河邊找鬼嗜闻。 笑死蜕依,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的琉雳。 我是一名探鬼主播样眠,決...
    沈念sama閱讀 38,951評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼咐吼!你這毒婦竟也來了吹缔?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,712評論 0 266
  • 序言:老撾萬榮一對情侶失蹤锯茄,失蹤者是張志新(化名)和其女友劉穎厢塘,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體肌幽,經(jīng)...
    沈念sama閱讀 44,166評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡晚碾,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,510評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了喂急。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片格嘁。...
    茶點故事閱讀 38,643評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖廊移,靈堂內(nèi)的尸體忽然破棺而出糕簿,到底是詐尸還是另有隱情,我是刑警寧澤狡孔,帶...
    沈念sama閱讀 34,306評論 4 330
  • 正文 年R本政府宣布懂诗,位于F島的核電站,受9級特大地震影響苗膝,放射性物質(zhì)發(fā)生泄漏殃恒。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,930評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望离唐。 院中可真熱鬧病附,春花似錦、人聲如沸亥鬓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽贮竟。三九已至丽焊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間咕别,已是汗流浹背技健。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留惰拱,地道東北人雌贱。 一個月前我還...
    沈念sama閱讀 46,351評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像偿短,于是被迫代替她去往敵國和親欣孤。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,509評論 2 348

推薦閱讀更多精彩內(nèi)容