欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python文件操作的基礎(chǔ)詳細(xì)講解(write、read、readlines、readline)

 更新時(shí)間:2022年04月12日 08:21:00   作者:ChenBinBini  
使用python來(lái)讀寫文件是非常簡(jiǎn)單的操作,下面這篇文章主要給大家介紹了關(guān)于python文件操作的基礎(chǔ)詳細(xì)資料,包括write、read、readlines、readline等相關(guān)操作,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

python 文件操作、文件讀寫(write、read、readlines、readline)、文件的相關(guān)操作,簡(jiǎn)單易懂

1 文件操作

文件就是把一些數(shù)據(jù)存起來(lái),可以讓程序下一次執(zhí)行的時(shí)候直接使用,而不必重新制作一份,省時(shí)省力。

1.1 文件打開與關(guān)閉

1.1.1 打開文件

在python中,使用open函數(shù),可以打開已經(jīng)存在的文件,或者創(chuàng)建一個(gè)新文件,open(文件名,訪問(wèn)模式)

示例如下:

f = open(‘test.txt','w')

新建前

沒(méi)有找到‘test.txt’文件,所以新建了‘test.txt’文件

1.1.2 關(guān)閉文件

close()

示例如下:

#新建一個(gè)文件,文件名為:test.txt
f = open(“text.txt”,”w”)
f.colse()#關(guān)閉這個(gè)文件

1.2 訪問(wèn)模式及說(shuō)明

訪問(wèn)模式說(shuō)明
r以只讀方式打開文件。文件的指針將會(huì)放在文件的開頭。這是默認(rèn)模式。
w打開一個(gè)文件只用于寫入。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。
a打開一個(gè)文件用于追加。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。也就是說(shuō),新的內(nèi)容將會(huì)被寫入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進(jìn)行寫入。
rb以二進(jìn)制格式打開一個(gè)文件用于只讀。文件指針將會(huì)放在文件的開頭。這是默認(rèn)模式。
wb以二進(jìn)制格式打開一個(gè)文件只用于寫入。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。
ab以二進(jìn)制格式打開一個(gè)文件用于追加。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。也就是說(shuō),新的內(nèi)容將會(huì)被寫入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進(jìn)行寫入。
r+打開一個(gè)文件用于讀寫。文件指針將會(huì)放在文件的開頭。
w+打開一個(gè)文件用于讀寫。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。
a+打開一個(gè)文件用于讀寫,如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。文件打開時(shí)會(huì)是追加模式。如果改文件不存在,創(chuàng)建新文件用于讀寫。
rb+以二進(jìn)制格式打開一個(gè)文件用于讀寫。文件指針將會(huì)放在文件的開頭
wb+以二進(jìn)制格式打開一個(gè)文件用于讀寫。如果改文件已存在則會(huì)覆蓋。如果改文件不存在,創(chuàng)建新文件。
ab+以二進(jìn)制格式打開一個(gè)文件用于追加。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。如果改文件不存在,創(chuàng)建新文件用于讀寫。

2 文件讀寫

2.1 寫數(shù)據(jù)(write)

使用write()可以完后向文件寫入數(shù)據(jù)

示例如下:

#寫
f = open("test.txt","w") #打開文件,w模式(寫模式),文件不存在就新建
f.write("hello world,I am here!")   #將字符串寫入文件中
f.close()   #關(guān)閉文件

寫入的內(nèi)容

2.2 讀數(shù)據(jù)(read)

使用read(num)可以從文件中讀取數(shù)據(jù),num表示要從文件中讀取的數(shù)據(jù)的長(zhǎng)度(單位是字節(jié)),如果沒(méi)有傳入num,那么就表示讀取文件中的所有數(shù)據(jù)

示例如下:

#讀:read方法,讀取指定的字符,開始時(shí)定位在文件頭部,每執(zhí)行一次向后移動(dòng)指定字符數(shù)
f = open("test.txt","r")
content = f.read(5) #一次讀五個(gè)字符
print(content)
print('-'*30)
content = f.read()
print(content)
f.close()

運(yùn)行結(jié)果下圖:

結(jié)果

2.3 讀數(shù)據(jù)(readlines)

就像read沒(méi)有參數(shù)時(shí)一樣,readlines可以按照行的方式把整個(gè)文件中的內(nèi)容進(jìn)行一次性的讀取,并且返回的是一個(gè)列表,其中每一行的數(shù)據(jù)為一個(gè)元素

test.txt文件內(nèi)容

示例如下:

f = open("test.txt","r")
content = f.readlines() # 一次性讀取全部文件為列表,每行一個(gè)字符串
print(content) #['hello world,I am here!\n', 'hello world,I am here!\n', 'hello world,I am here!\n', 'hello world,I am here!\n',

i = 1
for temp in content:
    print("%d:%s"%(i,temp))
    i += 1
f.close()

運(yùn)行結(jié)果下圖:

運(yùn)行結(jié)果

2.3 讀數(shù)據(jù)(readline)

readline一次讀取一行

示例如下:

f = open("test.txt","r")
content = f.readline() #1:hello world,I am here!--1
print("1:%s"%content)

content = f.readline() #2:hello world,I am here!--2
print("2:%s"%content)
f.close()

運(yùn)行結(jié)果下圖:

3 文件的相關(guān)操作

有些時(shí)候,需要對(duì)文件進(jìn)行重命名、刪除一些操作,python的os模塊中都有這些功能

3.1 文件重命名

os模塊中的rename()可以完成對(duì)文件的重命名操作rename(需要修改的文件名,新的文件名)

import os
os.rename(“畢業(yè)論文.txt”,”畢業(yè)論文-最終版.txt”)

3.2 刪除文件

os中的remove()可以完成對(duì)文件的刪除操作

remove(待刪除的文件名)

import os 
os.remove(“畢業(yè)論文.txt”)

3.3 創(chuàng)建文件夾

import os
os.mkdir(“張三”)

3.4 獲取當(dāng)前目錄

import os
os.getcwd()

3.5 改變默認(rèn)目錄

import os
os.chdir(“../”)

補(bǔ)充:文件綜合操作實(shí)例

將文件夾下所有圖片名稱加上'_fc'

python代碼:

# -*- coding:utf-8 -*-
import re
import os
import time
#str.split(string)分割字符串
#'連接符'.join(list) 將列表組成字符串
def change_name(path):
? ? global i
? ? if not os.path.isdir(path) and not os.path.isfile(path):
? ? ? ? return False
? ? if os.path.isfile(path):
? ? ? ? file_path = os.path.split(path) #分割出目錄與文件
? ? ? ? lists = file_path[1].split('.') #分割出文件與文件擴(kuò)展名
? ? ? ? file_ext = lists[-1] #取出后綴名(列表切片操作)
? ? ? ? img_ext = ['bmp','jpeg','gif','psd','png','jpg']
? ? ? ? if file_ext in img_ext:
? ? ? ? ? ? os.rename(path,file_path[0]+'/'+lists[0]+'_fc.'+file_ext)
? ? ? ? ? ? i+=1 #注意這里的i是一個(gè)陷阱
? ? ? ? #或者
? ? ? ? #img_ext = 'bmp|jpeg|gif|psd|png|jpg'
? ? ? ? #if file_ext in img_ext:
? ? ? ? # ? ?print('ok---'+file_ext)
? ? elif os.path.isdir(path):
? ? ? ? for x in os.listdir(path):
? ? ? ? ? ? change_name(os.path.join(path,x)) #os.path.join()在路徑處理上很有用

img_dir = 'D:\\xx\\xx\\images'
img_dir = img_dir.replace('\\','/')
start = time.time()
i = 0
change_name(img_dir)
c = time.time() - start
print('程序運(yùn)行耗時(shí):%0.2f'%(c))
print('總共處理了 %s 張圖片'%(i))

總結(jié)

到此這篇關(guān)于python文件操作基礎(chǔ)的文章就介紹到這了,更多相關(guān)python文件操作內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 刪除目錄下相同文件的python代碼(逐級(jí)優(yōu)化)

    刪除目錄下相同文件的python代碼(逐級(jí)優(yōu)化)

    讓我們來(lái)分析一下這個(gè)問(wèn)題:首先,文件個(gè)數(shù)非常多,手工查找是不現(xiàn)實(shí)的,再說(shuō),單憑我們?nèi)庋?,在幾千張圖片里面找到完全相同的難度也是很大的
    2012-05-05
  • PyQt5執(zhí)行耗時(shí)操作導(dǎo)致界面卡死或未響應(yīng)的原因及解決辦法

    PyQt5執(zhí)行耗時(shí)操作導(dǎo)致界面卡死或未響應(yīng)的原因及解決辦法

    這篇文章主要給大家介紹了關(guān)于PyQt5執(zhí)行耗時(shí)操作導(dǎo)致界面卡死或未響應(yīng)的原因及解決辦法,由于耗時(shí)的操作會(huì)獨(dú)占系統(tǒng)cpu資源,讓界面卡死在那里,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • Python 40行代碼實(shí)現(xiàn)人臉識(shí)別功能

    Python 40行代碼實(shí)現(xiàn)人臉識(shí)別功能

    很多人都認(rèn)為人臉識(shí)別是一項(xiàng)非常難以實(shí)現(xiàn)的工作,看到名字就害怕,然后心懷忐忑到網(wǎng)上一搜,看到網(wǎng)上N頁(yè)的教程立馬就放棄了。其實(shí)如果你不是非要深究其中的原理,只是要實(shí)現(xiàn)這一工作的話,人臉識(shí)別也沒(méi)那么難。今天我們就來(lái)看看如何在40行代碼以內(nèi)簡(jiǎn)單地實(shí)現(xiàn)人臉識(shí)別。
    2017-04-04
  • pytorch梯度剪裁方式

    pytorch梯度剪裁方式

    今天小編就為大家分享一篇pytorch梯度剪裁方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • 如何基于Python批量下載音樂(lè)

    如何基于Python批量下載音樂(lè)

    這篇文章主要介紹了如何基于Python批量下載音樂(lè),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Python實(shí)現(xiàn)自動(dòng)簽到腳本功能

    Python實(shí)現(xiàn)自動(dòng)簽到腳本功能

    這篇文章主要介紹了Python實(shí)現(xiàn)自動(dòng)簽到腳本,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • python 巡檢腳本的項(xiàng)目實(shí)踐

    python 巡檢腳本的項(xiàng)目實(shí)踐

    本文主要介紹了python 巡檢腳本的項(xiàng)目實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • python同時(shí)遍歷數(shù)組的索引和值的實(shí)例

    python同時(shí)遍歷數(shù)組的索引和值的實(shí)例

    今天小編就為大家分享一篇python同時(shí)遍歷數(shù)組的索引和值的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • Python裝飾器實(shí)現(xiàn)方法及應(yīng)用場(chǎng)景詳解

    Python裝飾器實(shí)現(xiàn)方法及應(yīng)用場(chǎng)景詳解

    這篇文章主要介紹了Python裝飾器實(shí)現(xiàn)方法及應(yīng)用場(chǎng)景詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • python設(shè)計(jì)微型小說(shuō)網(wǎng)站(基于Django+Bootstrap框架)

    python設(shè)計(jì)微型小說(shuō)網(wǎng)站(基于Django+Bootstrap框架)

    這篇文章主要介紹了python設(shè)計(jì)微型小說(shuō)網(wǎng)站(基于Django+Bootstrap框架),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07

最新評(píng)論