成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

??Python【文件操作】保姆式教程??,計算機那么多文件,你繞不過這一關(guān)的!

forsigner / 3577人閱讀

?前言

在Python寫代碼做項目時,我們往往需要對多個文件進行操作,在現(xiàn)在的源代碼文件中怎么導(dǎo)入其他文件?怎么對其他文件進行操作?這都是經(jīng)常要面臨的問題,尤其是爬蟲,爬到的數(shù)據(jù)放在哪里?用到的時候怎么調(diào)出來?

這就涉及到了Python的文件操作知識了,我們不可能永遠都只會在一個源文件上做所有的操作,這也是必須掌握的一個知識板塊。

與此同時,我的Python新手入門教程系列文章也已經(jīng)快更新完了,歡迎大家的訂閱:

Python新手入門教程系列文章專欄



?一、文件的定義和操作

計算機中的文件通常是指計算機硬盤為載體的、存儲在計算機中的信息集合,主要的表現(xiàn)形式為視頻、音頻、圖片以及文檔四類,比如執(zhí)行性文件.exe、文檔文件.txt、網(wǎng)頁文件.html等等。


?二、文件的基本操作

在現(xiàn)實中,我們對文件進行操作可以大致總結(jié)為“打開→操作(閱讀、刪除、修改等)→保存→關(guān)閉”,在Python當(dāng)中依然是如此,在用Python開始文件操作之前,我們先學(xué)幾個方法。

1.open(name,mode) ----打開文件

這是Python打開文件的方法,用于打開一個文件,返回的是一個文件對象。

name指的是文件名,一定要寫全,何為寫全?就是要寫清楚 存儲路徑+文件名+后綴 。

為何要寫這么全?因為就算是相同的存儲路徑下,文件名相同的文件也可能不止一個,只要后綴不一樣,計算機是允許存在同名文件,所以不寫全的話,計算機是不知道你指的是誰

mode是打開文件的模式,默認是r,也就是只讀的方式。mode的方式有很多,比如讀、寫等等,后面我們會講到。


2.write(“內(nèi)容") ------寫

顧名思義,就是向文件對象中寫入內(nèi)容。


3.read() -------讀

向文件中寫入內(nèi)容,括號里面可以寫數(shù)字也可以不寫,不寫的話默認是讀取全部內(nèi)容,寫數(shù)字則表示讀取X個字符,比如說read(6)則讀取文件對象的6個字符。


4.close() ------關(guān)閉文件

關(guān)閉文件的方法,如果你在進行文件操作之后不進行關(guān)閉文件,則文件一直處于打開和操作的狀態(tài),會占用內(nèi)存。


5.案例

在了解了這4個基本方法之后,我們來開始做1個小案例:新建一個項目,然后新建一個名為“文件”的Python文件用于寫代碼,然后我們用寫的方式向1個叫“文件1”的.txt文件寫入“hello world”,代碼如下:

f = open("文件一.txt","w") #以寫入的方式,打開文件f.write("hello world")  #向文件一中寫入內(nèi)容f.close()   #關(guān)閉文件

前面講過 open() 這個方法返回的是一個文件對象,所以我們用f進行接收一下,這是沒有運行前的界面:

運行后:

運行后生成了一個新的名為“文件一.txt”文件,打開它之后就能看到我們輸入的內(nèi)容。進行寫操作時,如果文件不存在,則默認會創(chuàng)建一個。

同樣的,我們也可以對這個文件進行讀的操作:

f = open("文件一.txt","r") #以寫入的方式,打開文件print(f.read()) #讀文件f.close()   #關(guān)閉文件

運行結(jié)果:

hello world

這就是一個最基本的文件操作流程。

在這里要注意一點,open(name,mode)在一開始寫的時候,mode就已經(jīng)決定了你能做什么操作,也就是說如果你在開始寫代碼的時候?qū)懙氖牵?/p>

f = open("文件一.txt","r")	#只讀的方式打開文件

那么后面你想進行write()的寫操作是會報錯的,因為mode里面聲明了r只讀模式,所以你沒有寫的權(quán)限,這一點要注意一下。


6.mode的其他操作模式

mode中有很多的操作模式,我們以表格的方式來看看:

模式描述
r以只讀的形式打開文件,文件的指針在開頭
r+讀寫,文件指針在開頭
rb以二進制的形式,只讀文件指針在開頭
w只寫,文件不存在,則創(chuàng)建新的,存在則覆蓋,指針在開頭
w+讀寫,文件不存在,則創(chuàng)建新的,存在則覆蓋,指針在開頭
wb只寫,以二進制的形式
a追加模式,文件指針在結(jié)尾
a+讀寫,不存在則創(chuàng)建,存在直接追加
ab以二進制形式追加

指針在這里可以理解為光標(biāo),它在哪里,你的操作就從哪里開始。

舉例:新建1個名為 “test” 的.txt文件,第一次向里面寫入aaa,第二次向里面寫入bbb。

f = open("test.txt", "a+")f.write("aaa")f.close()f = open("test.txt")  # 默認只讀模式print(f.read())  # 打印內(nèi)容f = open("test.txt", "a+")f.write("bbb")f.close()f = open("test.txt")  # 默認只讀模式print(f.read())  # 再次打印內(nèi)容

運行結(jié)果:

aaaaaabbb

?三、文件的方法與屬性

1.file的對象屬性

有三個常用的方法可用于查看文件對象的屬性:

1. closed   	如果文件對象已關(guān)閉,返回True,否則返回False2. mode   	返回文件對象的訪問模式3. name   	返回文件的名稱

案例:對文件進行操作(隨意),查看被操作的文件名、操作模式和是否關(guān)閉。

f = open("test.txt", "a+")f.write("aaa")f.close()print(f.closed) #查看是否關(guān)閉print(f.name)   #查看文件名字print(f.mode)   #查看操作模式

運行結(jié)果:

Truetest.txta+

2.file的對象方法

文件的方法有很多,前面我們已經(jīng)講過一點,比如read()和write(),但還有一些常用的方法需要掌握的,比如下面的:

1. close()		關(guān)閉文件---非常重要2. read([count])		讀取文件中的內(nèi)容		count:字節(jié)數(shù)量3. readlines()		讀取所有內(nèi)容,打包成列表4. readline()		讀取一行數(shù)據(jù),追加讀取,讀取過的不能再次讀取5. seek(offset,[from])		修改指針的位置:從from位置移動了offset個字節(jié)		from:0則表示從起始位置,1則表示從當(dāng)前位置開始,2則表示從末尾開始		oofset:要移動的字節(jié)數(shù)6. write()		向文件中寫入內(nèi)容

舉例:向test.txt文件中寫入aaabbbccc,將文件中的內(nèi)容輸出為列表。

f = open("test.txt", "a+")f.write("aaabbbccc")f.close()f = open("test.txt")print(f.readlines())f.close()

運行結(jié)果:

["aaabbbcccaaabbbccc"]

?四、os模塊

os模塊是一個用于訪問操作系統(tǒng)的模塊,在進行文件操作的時候常會用到它。模塊在使用之前要進行導(dǎo)入。

import os

1.關(guān)于文件的功能

1.os.rename(原文件名,新的文件名)	——文件重命名2.os.remove(文件名)	——刪除文件	如果不說明路徑,則在源代碼所在文件夾下尋找,尋找不到會報錯。	若想刪除指定文件夾下的文件,文件名則需要具體路徑,例如 os.remove(r"D:/test_1/文件名"),r防止斜杠發(fā)生轉(zhuǎn)義

舉例:已有文件test1.txt,將其修改成test20.txt。

import osos.rename("test1.txt","test20.txt")

運行結(jié)果:


2.文件夾的功能

1.os.mkdir(文件夾名)	——創(chuàng)建文件夾2.os.rmdir(文件夾名)	——刪除文件夾3.os.getced()	——獲取當(dāng)前目錄4.os.chdir(目錄)	——切換目錄5.os.listdir(目錄)	——獲取當(dāng)前文件夾下所有的文件或者文件夾,返回一個列表	os.listdir("aa") #獲取aa文件夾下的所有文件或文件夾,返回一個列表

舉例:在現(xiàn)有文件夾venv里面新建一個新建文件夾。

import osos.chdir(r"D:/文件/venv")  #切換到venv文件夾下,r是防止轉(zhuǎn)義os.mkdir("新建文件夾")   #在venv文件夾下創(chuàng)建一個新建文件夾print(os.getcwd())  #輸出當(dāng)前目錄位置

運行結(jié)果:


?結(jié)語

關(guān)于文件其實還有很多的方法,用到的時候可以去網(wǎng)上查查資料去深入了解,比如說os模塊里面還有其他的方法,我們可以ctrl+鼠標(biāo)左鍵進入模塊內(nèi)部查看,比如說不止os模塊,還有os.path這個模塊也是比較常用的文件操作模塊。

那么今天的分享就先到這里,看完可以收藏起來多練練,文件操作也就不再困難了。

準(zhǔn)備了很久,我的公眾號終于是開始運作了,關(guān)于我的技術(shù)和經(jīng)驗文章都會優(yōu)先在上面進行推送,目前還在不斷完善中,歡迎大家的關(guān)注。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/120982.html

相關(guān)文章

  • ?? 程序員【代碼管理】工具介紹??,熱門語言更新么快,你繞不過一關(guān)!

    上次講了2個游戲源碼 前端實戰(zhàn)之js推箱子游戲(有界面、附源碼、贊關(guān)藏) Python實戰(zhàn):五子棋小游戲,切身感受一下前端和桌面應(yīng)用的區(qū)別,選擇自己喜歡的 本來今天準(zhǔn)備寫一篇面向?qū)ο笪恼?,但是想一想,講面向?qū)ο笾斑€是先給大家介紹幾款實用的工具,更加快速的理解,掌握知識點。 1.UML 統(tǒng)一建模語言(Unified Modeling Language,UML)是一種為面向?qū)ο笙到y(tǒng)的產(chǎn)品進行說明、可...

    array_huang 評論0 收藏0
  • ??Python異常捕獲和處理??姆式教學(xué),代碼異常報錯也能那么和諧且個性!

    ?前言 代碼出現(xiàn)異常而報錯再正常不過了,但為什么要處理異常? 由于異常的存在,代碼運行時會出現(xiàn)一大堆的紅色字體提示,對于程序員還好,見紅色報錯見多了習(xí)慣了,但如果你開發(fā)出來的東西要給別人看,那么不懂代碼的人就會一臉懵逼,對產(chǎn)品的印象都不太好了。 比如我們經(jīng)常簡單網(wǎng)頁丟失的情況,其實是就是網(wǎng)頁代碼執(zhí)行時發(fā)生了異常,但有的網(wǎng)頁還是很個性的,提示的信息可能是比較人性化的,比如CSDN你收藏的文章被后臺刪...

    awesome23 評論0 收藏0
  • ??Python面向?qū)ο?em>保姆式教學(xué)??,新手速成精英之路!

    前言 最近,我在群里答疑的時候,經(jīng)常碰到,小伙伴,再變量,縮進,參數(shù),方面使用錯誤,導(dǎo)致程序運行不來。 今天,打算自己寫一篇。 Python 變量作用域,和生命周期。 徹底弄懂變量該怎么使用。 知識點 變量的使用,有作用域區(qū)別,也有生命周期的區(qū)別。 1.變量作用域 局部變量 python能夠影響變量作用域的代碼段是def、class、lamda。 def scopeTest(): local...

    Cc_2011 評論0 收藏0
  • 保姆教程HTML兩萬字筆記大總結(jié)【建議收藏】(上篇)

    摘要:標(biāo)簽不區(qū)分大小寫,但推薦小寫。標(biāo)簽可以嵌套,但不能交叉嵌套。標(biāo)簽也稱為元素。比如行內(nèi)標(biāo)簽亦可成行內(nèi)元素。 ??HTML必備知識詳解?? 第一部分:HTML框架簡介...

    paulli3 評論0 收藏0
  • 程序員條路,選擇深耕技術(shù),還是全面學(xué)習(xí)比較好?

    摘要:前言在開發(fā)技術(shù)和應(yīng)用市場完全成熟的今天,有人希望深耕技術(shù)打造出自己的一片天地,也有人想廣泛學(xué)習(xí)在程序員市場中游刃有余。而這本書上千的引用論文,給我指明了一條系統(tǒng)學(xué)習(xí)理論的明路。 ...

    kun_jian 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<