詳解Python的文件處理
先學(xué)會(huì)文件的讀寫!
比如像以前在學(xué)校讀書的時(shí)候,第一門編程課設(shè)計(jì)要求是制作學(xué)生管理系統(tǒng)。
這就需要使用文件來(lái)處理(也可以用數(shù)據(jù)庫(kù),但是一般C語(yǔ)言都是很多計(jì)算機(jī)系新生的首選語(yǔ)言,這時(shí)候大概率也不知道數(shù)據(jù)庫(kù))。
python 最常用的是open和write函數(shù),如下:
#open函數(shù):接收一個(gè)文件名,還有其他參數(shù)可省略不寫。
one_file = open('myfile.txt')
#讀取數(shù)據(jù)賦值給data變量
data = one_file.read()
#一個(gè)文件對(duì)象的write函數(shù)
one_file = open('myfile.txt','w')
#write函數(shù):傳入數(shù)據(jù),write函數(shù)把數(shù)據(jù)寫入到one_file對(duì)應(yīng)的文件中。
one_file.write('寫到文件的數(shù)據(jù)')
我們看看一些文件操作示例吧
讀取文件數(shù)據(jù)
保留下面數(shù)據(jù)到為文件:sample.txt
持續(xù)學(xué)習(xí) 持續(xù)開發(fā) 我雷學(xué)委
afile = open("sample.txt")
print(afile.read())

寫數(shù)據(jù)簡(jiǎn)單展示
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/11/12 11:58 下午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷學(xué)委
# @XueWeiTag: CodingDemo
# @File : filedemo.py
# @Project : hello
afile = open("sample.txt")
data = afile.read()
print("sample file content=", data)
afile.close()
#把sample讀取的數(shù)據(jù)寫到test文件
afile = open("./test.txt", "w")
afile.write(data)
afile.close()
print("write data to test file!")
afile = open("./test.txt")
data = afile.read()
afile.close()
print("test file content=", data)
我們看,讀取到的內(nèi)容確實(shí)是寫入的。
這個(gè)文件操作非常簡(jiǎn)單。

讀寫文件就這么簡(jiǎn)單,但是我們操作文件之后,記得調(diào)用close函數(shù)(關(guān)閉文件,不然后續(xù)再讀寫操作會(huì)出現(xiàn)異常/錯(cuò)誤?。?/p>
close函數(shù)的調(diào)用如下:
one_file.close() #文件對(duì)象.close()
但是我們通常都是編寫這種風(fēng)格的文件讀寫:
with open('sample.txt', 'r') as one_file:
data = one_file.read()
#無(wú)須調(diào)用close了,這個(gè)with代碼塊內(nèi),python會(huì)幫我們自動(dòng)關(guān)閉文件。
以上都是一開文件就一次性讀取的,Python中還可以一行一行讀取。
按行讀取
我們基于前面讀寫文件代碼改造,直接看:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/11/12 11:58 下午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷學(xué)委
# @XueWeiTag: CodingDemo
# @File : filedemo2.py
# @Project : hello
with open("sample.txt") as afile:
data = afile.readline()
print("sample file content=", data)
with open("./test.txt", "w") as afile:
afile.write(data)
print("write data to test file!")
with open("test.txt") as afile:
data = afile.readline()
print("test file content=", data)
我們看到這里讀取了sample文件的一行,然后寫入到test文件,也只有一行!

總結(jié)
Python 文件的讀取非常方便,內(nèi)置的open函數(shù)和文件對(duì)象自帶的write函數(shù),設(shè)計(jì)非常簡(jiǎn)單。
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
Pandas使用stack和pivot實(shí)現(xiàn)數(shù)據(jù)透視的方法
筆者最近正在學(xué)習(xí)Pandas數(shù)據(jù)分析,將自己的學(xué)習(xí)筆記做成一套系列文章。本節(jié)主要記錄Pandas中使用stack和pivot實(shí)現(xiàn)數(shù)據(jù)透視。感興趣的小伙伴們可以參考一下2021-09-09
關(guān)于python列表相關(guān)知識(shí)點(diǎn)
這篇文章主要介紹了關(guān)于python列表相關(guān)知識(shí)點(diǎn),變量可以存儲(chǔ)一個(gè)元素,而列表是一個(gè)大容器,可以存儲(chǔ)N多個(gè)元素,程序可以方便的對(duì)這些數(shù)據(jù)進(jìn)行整體操作,需要的朋友可以參考下2023-04-04
使用PyCharm調(diào)試程序?qū)崿F(xiàn)過程
這篇文章主要介紹了使用PyCharm調(diào)試程序?qū)崿F(xiàn)過程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11
Python?pip安裝庫(kù)時(shí)存在緩存以及清除方法
這篇文章主要給大家介紹了關(guān)于Python?pip安裝庫(kù)時(shí)存在緩存以及清除方法的相關(guān)資料,我們?cè)诎惭bPython庫(kù)時(shí),是安裝版的話一般都通過?pip?install?xxx?來(lái)安裝包,但安裝下載的文件都會(huì)緩存下來(lái),而且一般都在C盤,需要的朋友可以參考下2023-08-08
Python version 2.7 required, which was not found in the regi
這篇文章主要介紹了安裝PIL庫(kù)時(shí)提示錯(cuò)誤Python version 2.7 required, which was not found in the registry問題的解決方法,需要的朋友可以參考下2014-08-08
django.db.utils.ProgrammingError: (1146, u“Table‘’ doesn’t e
這篇文章主要給大家介紹了關(guān)于執(zhí)行python manage.py migrate時(shí)報(bào)錯(cuò):django.db.utils.ProgrammingError: (1146, "Table 'test.model_student' doesn't exist" )問題的解決方法,文中將解決的方法介紹的非常詳細(xì),需要的朋友可以參考下2018-07-07
pyinstaller打包后,配置文件無(wú)法正常讀取的解決
這篇文章主要介紹了pyinstaller打包后,配置文件無(wú)法正常讀取的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02
python 使用百度AI接口進(jìn)行人臉對(duì)比的步驟
這篇文章主要介紹了python 使用百度AI接口進(jìn)行人臉對(duì)比的步驟,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-03-03

