国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

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

forsigner / 3564人閱讀

?前言

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

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

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

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



?一、文件的定義和操作

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


?二、文件的基本操作

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

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

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

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

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

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


2.write(“內容") ------寫

顧名思義,就是向文件對象中寫入內容。


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

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


4.close() ------關閉文件

關閉文件的方法,如果你在進行文件操作之后不進行關閉文件,則文件一直處于打開和操作的狀態,會占用內存。


5.案例

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

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

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

運行后:

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

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

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

運行結果:

hello world

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

在這里要注意一點,open(name,mode)在一開始寫的時候,mode就已經決定了你能做什么操作,也就是說如果你在開始寫代碼的時候寫的是:

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

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


6.mode的其他操作模式

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

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

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

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

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

運行結果:

aaaaaabbb

?三、文件的方法與屬性

1.file的對象屬性

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

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

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

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

運行結果:

Truetest.txta+

2.file的對象方法

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

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

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

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

運行結果:

["aaabbbcccaaabbbccc"]

?四、os模塊

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

import os

1.關于文件的功能

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

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

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

運行結果:


2.文件夾的功能

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

舉例:在現有文件夾venv里面新建一個新建文件夾。

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

運行結果:


?結語

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

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

準備了很久,我的公眾號終于是開始運作了,關于我的技術和經驗文章都會優先在上面進行推送,目前還在不斷完善中,歡迎大家的關注。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/120982.html

相關文章

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

    上次講了2個游戲源碼 前端實戰之js推箱子游戲(有界面、附源碼、贊關藏) Python實戰:五子棋小游戲,切身感受一下前端和桌面應用的區別,選擇自己喜歡的 本來今天準備寫一篇面向對象文章,但是想一想,講面向對象之前還是先給大家介紹幾款實用的工具,更加快速的理解,掌握知識點。 1.UML 統一建模語言(Unified Modeling Language,UML)是一種為面向對象系統的產品進行說明、可...

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

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

    awesome23 評論0 收藏0
  • ??Python面向對象姆式教學??,新手速成精英之路!

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

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

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

    paulli3 評論0 收藏0
  • 程序員條路,選擇深耕技術,還是全面學習比較好?

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

    kun_jian 評論0 收藏0

發表評論

0條評論

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