python操作文件及os模塊相關

1.open函數(shù)窝撵,可以打開一個已經存在的文件,或者創(chuàng)建一個新文件

open(文件名襟铭,訪問模式)碌奉,注意默認encoding是gbk,如果文件編碼是utf8寒砖,

open(文件名赐劣,訪問模式,encoding='utf8')

訪問模式:

r:以只讀的方式打開文件哩都,文件的指針放在文件的開頭

w:打開一個文件只用于寫入魁兼。如果該文件已存在則將其覆蓋。如果該文件不存在漠嵌,創(chuàng)建新文件咐汞。

a:以追加的方式打開文件并寫入內容,也就是說文件指針將會放在文件的結尾儒鹿,如果該文件不存在化撕,創(chuàng)建新文件進行寫入。

rb:以二進制格式打開一個文件用于只讀约炎。wb植阴,ab同理。

r+:給r模式增加了寫入的功能

w+:給w模式增加了讀出的功能

a+:給a模式增加了讀出的功能

2.寫數(shù)據(jù)

使用write()可以完成向文件寫入數(shù)據(jù)圾浅。

f = open("test.txt",'w')

f.write("lalalla"+'\n'+"hahahaha")

f.close()

3.讀數(shù)據(jù)

read函數(shù)掠手,read(num),num狸捕,從文件中讀取的數(shù)據(jù)的長度(單位是字節(jié))惨撇,后面讀取的數(shù)據(jù)是從上次讀完后的位置開始的,如果不傳入府寒,就默認讀出全部數(shù)據(jù)。

f1 = open("test.txt",'r')

f1.read(2)

'la'

f1.read(9)

'lalla\nhah'

readlines函數(shù)报腔,可以按照行的方式把整個文件中的內容進行一次性讀取株搔,并且返回的是一個列表,其中每一行的數(shù)據(jù)為一個元素

readline函數(shù):讀取文件中一行的數(shù)據(jù)纯蛾,后面讀取的數(shù)據(jù)是從上次讀完后的位置開始的纤房。

4.close函數(shù),關閉文件

5.獲取在當前文件中指針讀寫的位置

tell函數(shù)翻诉,在close函數(shù)之前炮姨。

f = open("test.txt", "r")

? ? str = f.read(3)

? ? print("讀取的數(shù)據(jù)是 : ", str)

? ? # 查找當前位置

? ? position = f.tell()

? ? print("當前文件位置 : ", position)

? ? str = f.read(3)

? ? print("讀取的數(shù)據(jù)是 : ", str)

? ? # 查找當前位置

? ? position = f.tell()

? ? print("當前文件位置 : ", position)

? ? f.close()

讀取的數(shù)據(jù)是 :? lal

當前文件位置 :? 3

讀取的數(shù)據(jù)是 :? all

當前文件位置 :? 6

6.定位到某個位置

seek(offset, from)有2個參數(shù)

offset:偏移量

from:方向

0:表示文件開頭

1:表示當前位置

2:表示文件末尾?

f = open("test.txt", "r")

print(f.tell())

print(f.seek(5,0))

print(f.tell())

0

5

5

7.os.rename("老文件名","新文件名") 重命名文件名

8.os.remove("刪除文件名")? 刪除文件

os.removedirs('dirname1')若目錄為空捌刮,則刪除,并遞歸到上一級目錄舒岸,如若也為空绅作,則刪除,依此類推

9. os.mkdir("張三") 創(chuàng)建文件夾

10. os.getcwd() 獲取當前目錄

11. os.chdir("test") 蛾派,目錄切換

12.os.listdir()俄认,獲取當前文件列表,包括文件夾,文件名洪乍。

13.os.rmdir("待刪除文件夾")? 刪除文件夾眯杏,目錄非空不能使用?

import shutil

shutil.rmtree("待刪除文件夾"),刪除非空目錄

14.os.walk(top, topdown=True, onerror=None, followlinks=False)用來遍歷一個目錄內各個子目錄和子文件。

top 是你所要便利的目錄的地址

topdown 為真壳澳,則優(yōu)先遍歷top目錄岂贩,否則優(yōu)先遍歷top的子目錄(默認為開啟)

onerror 需要一個 callable 對象,當walk需要異常時巷波,會調用

followlinks 如果為真萎津,則會遍歷目錄下的快捷方式(linux 下是 symbolic link)實際所指的目錄(默認關閉)

os.walk 的返回值是一個生成器(generator),也就是說我們需要不斷的遍歷它,來獲得所有的內容褥紫。

得到一個三元tupple(dirpath,?dirnames,?filenames)

第一個為起始路徑姜性,第二個為起始路徑下的文件夾列表,第三個是起始路徑下的文件列表髓考。

for root,dirs,files in os.walk("test"):

? ? print(root)?

? ? print(dirs)?

? ? print(files)

test

['t']

['t.txt']

test\t

[]

['t1.txt']

15.os.sep? 主要用于系統(tǒng)路徑中的分隔符.windows下是'\\'部念,linux是'/'

os.sep

'\\'

16.os.chmod 更改文件或目錄的權限。

os.chmod(path, mode),

17.Os.path.abspath(path) 返回文件絕對路徑(有文件名)

18.os.path.dirname(path),返回文件路徑

os.path.dirname("test/t.txt")

'test'

19.os.path.join(path1[,path2[,……]])氨菇, 將多個路徑組合后返回

os.path.join(os.getcwd(),"ppp.txt")

'C:\\test\\ppp.txt'

20.os.path.split(path)?

將path分割成目錄和文件名二元組返回儡炼。?

os.path.split("test/t.txt")

('test', 't.txt')

21.os.path.basename(),返回文件名

os.path.basename("test/t.txt")

't.txt'

22.os.path.exists(path)?

如果path存在,返回True查蓉;如果path不存在乌询,返回False。

os.path.exists("ttttt")

False

23.os.path.isabs/isdir/isfile(path)

如果path是一個存在的絕對路徑/文件夾/文件豌研,返回True妹田。否則返回False。

24.os.path.getsize(path)?返回path的文件的大芯楣病(字節(jié))

os.path.getsize("test/t.txt")

72

25.os.path.getatime(path)? 返回path所指向的文件或者目錄的最后存取時間鬼佣。

26.os.path.getmtime(path)? 返回path所指向的文件或者目錄的最后修改時間

27.os.system("bash command")? 運行shell命令,直接顯示

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末霜浴,一起剝皮案震驚了整個濱河市晶衷,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖晌纫,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件税迷,死亡現(xiàn)場離奇詭異,居然都是意外死亡锹漱,警方通過查閱死者的電腦和手機箭养,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來凌蔬,“玉大人露懒,你說我怎么就攤上這事∩靶模” “怎么了懈词?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長辩诞。 經常有香客問我坎弯,道長,這世上最難降的妖魔是什么译暂? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任抠忘,我火速辦了婚禮,結果婚禮上外永,老公的妹妹穿的比我還像新娘崎脉。我一直安慰自己,他們只是感情好伯顶,可當我...
    茶點故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布囚灼。 她就那樣靜靜地躺著,像睡著了一般祭衩。 火紅的嫁衣襯著肌膚如雪灶体。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天掐暮,我揣著相機與錄音蝎抽,去河邊找鬼。 笑死路克,一個胖子當著我的面吹牛樟结,可吹牛的內容都是我干的。 我是一名探鬼主播精算,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼瓢宦,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了殖妇?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤破花,失蹤者是張志新(化名)和其女友劉穎谦趣,沒想到半個月后疲吸,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡前鹅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年摘悴,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片舰绘。...
    茶點故事閱讀 39,926評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡蹂喻,死狀恐怖,靈堂內的尸體忽然破棺而出捂寿,到底是詐尸還是另有隱情口四,我是刑警寧澤,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布秦陋,位于F島的核電站蔓彩,受9級特大地震影響,放射性物質發(fā)生泄漏驳概。R本人自食惡果不足惜赤嚼,卻給世界環(huán)境...
    茶點故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望顺又。 院中可真熱鬧,春花似錦稚照、人聲如沸蹂空。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽雕憔。三九已至,卻和暖如春分瘦,著一層夾襖步出監(jiān)牢的瞬間琉苇,已是汗流浹背嘲玫。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留并扇,地道東北人去团。 一個月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親土陪。 傳聞我的和親對象是個殘疾皇子昼汗,可洞房花燭夜當晚...
    茶點故事閱讀 44,871評論 2 354

推薦閱讀更多精彩內容