文件的基本操作
概念
- 在計算機中,文件是以 二進制 的方式保存在磁盤上的
- 文本文件 和 二進制文件
- 文件操作的三個步驟
- 打開文件
- 讀、寫文件
- 讀:將文件讀入內存
- 寫:將內存中的數據寫入文件
- 關閉文件
操作文件的函數/方法
函數 | 說明 |
---|---|
open | 打開文件,并且返回文件操作對象 |
read | 將文件內容讀取到內存 |
write | 將內存中的數據寫入文件 |
close | 關閉文件 |
示例
-
新建一個 aa.txt 文件,內容如下
-
讀取代碼如下
# 打開文件
file=open("aa.txt")
# 讀取文件
content=file.read()
print(content)
# 關閉文件,如果忘記關閉,會造系統資源消耗,影響后續訪問
file.close()
注: 打開文件后,當操作完成后,一定要注意關閉,不然會造成資源消耗,影響后續對文件的訪問
輸出結果
文件的打開方式
open 函數默認以 只讀方式 打開文件,并返回文件對象
語法
file=open("文件名","訪問方式")
訪問方式 | 說明 |
---|---|
r | 以只讀方式打開文件,文件的指針會放在文件的開頭。這是默認模式 |
w | 以只寫方式打開文件,如果文件存在會被覆蓋,不存在則會創建文件 |
a | 以追加方式打開文件。如果文件存在,文件指針會在結尾,后續以追加內容的方式進行。如果文件不存在,則創建新文件進行寫入 |
r+ | 以讀寫方式打開文件,文件指針在開頭。如果文件不存在,拋異常 |
w+ | 以讀寫方式打開文件。如果文件存在會被覆蓋。如果不存在,創建新文件 |
a+ | 以讀寫方式打開文件。如果文件存在則指針在文件結尾。如果不存在則創建新文件 |
**示例
**
# 寫入文件
file=open("bb.txt","w")
# 寫入內容
file.write("aaaaaaaa")
# 關閉文件
file.close()
# 追加內容
file=open("bb.txt","a")
file.write("ccccccc")
file.close()
輸出結果
**按行讀取內容
**
- readling 方法可以一次讀取一行內容
- 方法執行后,會把** 文件指針 **移動到下一行
with + open() 模式 (推薦使用)
- 這種模式下文件打開之后不需要寫入文件關閉函數 close(),程序會在執行完 with 結構體中的程序后自動關閉打開的文件
示例:文件復制
test_list=[]
# 讀取文件數據到內存
with open("aa.txt","r") as f:
# 讀取所有行
for line in f.readlines():
test_list.append(line)
# 從內存讀取數據,寫入到文件
with open("cc.txt","w") as f:
for line in test_list:
f.write(line)
文件/目錄管理
在Python 中,如果希望對 文件或文件夾進行 創建、重命名、刪除、查看 等操作,需要導入 os 模塊
**文件操作
**
方法名 | 說明 | 示例 |
---|---|---|
rename | 重命名文件 | os.rename(源文件,目標文件) |
remove | 刪除文件 | os.remove(文件名) |
mknod |
目錄操作
方法名 | 說明 | 示例 |
---|---|---|
listdir | 目錄列表 | os.listdir(目錄名) |
mkdir | 創建目錄 | os.mkdir(目錄名) |
rmdir | 刪除目錄 | os.rmdir(目錄名) |
getcwd | 獲取當前目錄 | os.getcwd() |
chdir | 修改工作目錄 | os.chdir(目標目錄) |
path.isdir | 判斷是否是目錄 | os.path.isdir(目錄路徑) |
注:對文件或者目錄的操作, 都支持 相對路徑 與 絕對路徑
**示例
**
import os
# 在當前目錄下 創建一個 目錄 aaa
os.mkdir("aaa")
# 在 aaa 目錄下創建兩個文件
with open("aaa/aaa.txt","w") as f:
f.write("hhhhhhhhhhhh")
with open("aaa/bbb.txt","w") as f:
f.write("ddddddddddddd")
# 獲取當前目錄
dirpwd = os.getcwd()
print(dirpwd)
文本文件的編碼
- 文本文件存儲的內容是基于 字符編碼 的文件,常見的編碼有 ASCII 編碼,UNICODE 編碼等
- Python 3.x 默認使用 UTF-8 編碼
- ASCII編碼
- 計算機中只有 256個 ASCII 字符,一個ASCII在內存中占用 1個字節的空間
- UTF-8 編碼
- 計算機中使用 1~6 個字節來表示一個 UTF-8 字符,涵蓋了地球上幾乎所有地區的文字
- 大多數漢字會用 3個字節表示
- UTF-8 是 UNICODE 編碼的一種編碼格式
eval 函數
eval() 函數十分強大,將字符串 當成 有效的表達式 來求值 并返回計算結果
示例
# 解析字符串的 數字相加
print(eval("1+2"))
# 解析 列表
print(eval("[1,3,4,5,5]"))
print(type(eval("[1,3,4,5,5]")))
# 解析 字典
print(eval("{'aaa':1,'bbb':2}"))
print(type(eval("{'aaa':1,'bbb':2}")))
輸出結果
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
二進制
+關注
關注
2文章
801瀏覽量
41767 -
計算機
+關注
關注
19文章
7549瀏覽量
88721 -
文件
+關注
關注
1文章
571瀏覽量
24834
發布評論請先 登錄
相關推薦
python學習--文件操作
進入第7天的學習,學到了python的文件操作,教程說是和C語言兼容,于是就迫不及待的的想試試。按照教程的輸入,直接改成自己的目錄f=open('D:\python\text.txt'
發表于 12-25 16:41
python文件和目錄的操作方法介紹和實例說明
這篇文章主要介紹了python 文件和目錄的操作方法,簡明總結了文件和目錄操作中常用的模塊、方法,并列舉了一個綜合實例,需要的朋友可以參考下
發表于 09-16 17:12
?7次下載
![<b class='flag-5'>python</b><b class='flag-5'>文件</b>和目錄的<b class='flag-5'>操作</b>方法介紹和實例說明](https://file.elecfans.com/web1/M00/C6/AB/o4YBAF9h2k2AdiKBAADPlE4XHN4760.png)
python文件和目錄的操作方法介紹和實例說明
這篇文章主要介紹了python 文件和目錄的操作方法,簡明總結了文件和目錄操作中常用的模塊、方法,并列舉了一個綜合實例,需要的朋友可以參考下
發表于 09-16 17:12
?0次下載
![<b class='flag-5'>python</b><b class='flag-5'>文件</b>和目錄的<b class='flag-5'>操作</b>方法介紹和實例說明](https://file.elecfans.com/web1/M00/C6/AB/o4YBAF9h2k2AdiKBAADPlE4XHN4760.png)
網絡工程師學Python-文件刪除
Python 文件刪除是 Python 開發中常用的一項操作,本文將針對 Python 中的 os 模塊提供多個示例,介紹如何刪除不同類型的
python文件操作是什么
一、什么是文件操作 一個完整的程序一般都包括數據的存儲和讀取;我們在前面寫的程序數據都沒有進行實際的存儲,因此python解釋器執行完數據就消失了 實際開發中,我們經常需要從外部存儲介質(硬盤、光盤
![<b class='flag-5'>python</b><b class='flag-5'>文件</b><b class='flag-5'>操作</b>是什么](https://file1.elecfans.com/web2/M00/8A/7A/wKgZomSSv3CAMGNVAACMXEqWAzs996.jpg)
如何用Python來實現文件系統的操作功能
近幾年隨著 Python 的熱度不斷上漲,人們漸漸使用這門編程語言來進行一些自動化操作,以節省重復勞動帶來的效率低下,那么必定會涉及到對 文件系統的操作 ,包括
![如何用<b class='flag-5'>Python</b>來實現<b class='flag-5'>文件</b>系統的<b class='flag-5'>操作</b>功能](https://file1.elecfans.com/web2/M00/AB/4C/wKgaomU_TFyAdouzAAAGLFfce2g281.jpg)
如何實現Python復制文件操作
Python 中有許多“開蓋即食”的模塊(比如 os,subprocess 和 shutil)以支持文件 I/O 操作。在這篇文章中,你將會看到一些用 Python 實現
評論