詳解Python的文件處理
先學(xué)會文件的讀寫!
比如像以前在學(xué)校讀書的時(shí)候,第一門編程課設(shè)計(jì)要求是制作學(xué)生管理系統(tǒng)。
這就需要使用文件來處理(也可以用數(shù)據(jù)庫,但是一般C語言都是很多計(jì)算機(jī)系新生的首選語言,這時(shí)候大概率也不知道數(shù)據(jù)庫)。
python 最常用的是open和write函數(shù),如下:
#open函數(shù):接收一個文件名,還有其他參數(shù)可省略不寫。
one_file = open('myfile.txt')
#讀取數(shù)據(jù)賦值給data變量
data = one_file.read()
#一個文件對象的write函數(shù)
one_file = open('myfile.txt','w')
#write函數(shù):傳入數(shù)據(jù),write函數(shù)把數(shù)據(jù)寫入到one_file對應(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ù)簡單展示
#!/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í)是寫入的。
這個文件操作非常簡單。

讀寫文件就這么簡單,但是我們操作文件之后,記得調(diào)用close函數(shù)(關(guān)閉文件,不然后續(xù)再讀寫操作會出現(xiàn)異常/錯誤?。?/p>
close函數(shù)的調(diào)用如下:
one_file.close() #文件對象.close()
但是我們通常都是編寫這種風(fēng)格的文件讀寫:
with open('sample.txt', 'r') as one_file:
data = one_file.read()
#無須調(diào)用close了,這個with代碼塊內(nèi),python會幫我們自動關(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ù)和文件對象自帶的write函數(shù),設(shè)計(jì)非常簡單。
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(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)知識點(diǎn)
這篇文章主要介紹了關(guān)于python列表相關(guān)知識點(diǎn),變量可以存儲一個元素,而列表是一個大容器,可以存儲N多個元素,程序可以方便的對這些數(shù)據(jù)進(jìn)行整體操作,需要的朋友可以參考下2023-04-04
使用PyCharm調(diào)試程序?qū)崿F(xiàn)過程
這篇文章主要介紹了使用PyCharm調(diào)試程序?qū)崿F(xiàn)過程,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11
Python version 2.7 required, which was not found in the regi
這篇文章主要介紹了安裝PIL庫時(shí)提示錯誤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)錯:django.db.utils.ProgrammingError: (1146, "Table 'test.model_student' doesn't exist" )問題的解決方法,文中將解決的方法介紹的非常詳細(xì),需要的朋友可以參考下2018-07-07

