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

python持久化存儲(chǔ)文件操作方法

 更新時(shí)間:2021年06月22日 11:03:14   作者:小蒜不次蒜  
本文給大家分享python持久化存儲(chǔ)文件操作方法,給大家講解存儲(chǔ)文件的重要性,指針的基本概念及關(guān)閉文件的方法,介紹文件的創(chuàng)建和刪除技巧,感興趣的朋友一起看看吧

存儲(chǔ)文件的重要

一個(gè)程序在運(yùn)行過(guò)程中用了九牛二虎之力終于計(jì)算出了結(jié)果,試想一下如果不把這些數(shù)據(jù)存放起來(lái),相比重啟電腦之后,。 默認(rèn)數(shù)據(jù)是加載到內(nèi)存中,結(jié)果也是保存到內(nèi)存中, 程序執(zhí)行結(jié)束,所有的數(shù)據(jù)釋放。

要讀取二進(jìn)制文件,比如圖片、視頻等等,用'rb', ‘wb', 'ab'等模式打開文件即可!

mode:
r:只能讀文件
w:只能寫入(清空文件內(nèi)容)
a+:讀寫(追加)

打開文件:
f = open(‘doc/hello.txt',mode=‘a(chǎn)')
文件的讀寫操作
f.write('\nhello python')
文件的關(guān)閉
f.close()

f = open('C:/Users/Shinelon/PycharmProjects/pythonProject1/python/westos',mode='a+')
f.write('\nxinxiedeo')

結(jié)果如下:
本來(lái)文件westos里面內(nèi)容如下:

在這里插入圖片描述

執(zhí)行命令之后:就添加進(jìn)去了

在這里插入圖片描述

在這里插入圖片描述

指針的概念

對(duì)于指針:seek(offset, from)有2個(gè)參數(shù): offset:偏移量 from:方向!!
0:表示文件開頭;
1:表示當(dāng)前位置;
2:表示文件末尾

文件的關(guān)閉

方法一: 調(diào)用close()方法關(guān)閉文件。文件使用完畢后必須關(guān)閉,因?yàn)槲募?duì)象會(huì)占用操作系統(tǒng)的資源,
并且操作系統(tǒng)同一時(shí)間能打開的文件數(shù)量也是有限的:

方法二: Python引入了with語(yǔ)句來(lái)自動(dòng)幫我們調(diào)用close()方法

with open('/root/PycharmProjects/pythonProject1/4/test.txt','w+') as f:
    f.write('hello world\n')
    f.seek(0,0)   #移動(dòng)指針位置到文件最開始
    print("當(dāng)前指針位置為:",f.tell())
    print(f.read())   #讀取文件內(nèi)容

執(zhí)行和結(jié)果如下:

在這里插入圖片描述

若是修改指針位置:

with open('/root/PycharmProjects/pythonProject1/4/test.txt','w+') as f:
    f.write('hello world\n')
    f.seek(0,2)  #移動(dòng)指針位置到文件末尾
    print("當(dāng)前指針位置為:",f.tell())
    print(f.read())   #讀取文件內(nèi)容

那么輸出如下:

在這里插入圖片描述

OS模塊

功能:
os,語(yǔ)義為操作系統(tǒng),處理操作系統(tǒng)相關(guān)的功能,可跨平臺(tái)。 比如顯示當(dāng)前目錄下所有文件/刪除某個(gè)文件/獲取文件大小……

獲取操作系統(tǒng)的類型

import os #Linux操作系統(tǒng)
import platform #windows操作系統(tǒng)
print(os.name)
# 2.獲取主機(jī)信息,windows系統(tǒng)使用platform模塊,如果是linux系統(tǒng)直接使用os模塊

結(jié)果如下:

在這里插入圖片描述

我們需要完善代碼:
不確定是windows系統(tǒng),還是linux操作系統(tǒng)!!
用到
try:可能報(bào)錯(cuò)的執(zhí)行內(nèi)容!
excpt:可能異常的執(zhí)行內(nèi)容!
finally:都會(huì)執(zhí)行的內(nèi)容!

import os
import platform
try:
	uname = os.uname()
except :
	uname = platform.uname()
finally:
	print(uname)

結(jié)果如下:

在這里插入圖片描述

獲得系統(tǒng)的環(huán)境變量!

import os

envs  = os.environ
print(envs)

結(jié)果如下:

在這里插入圖片描述

文件的路徑問(wèn)題也很重要:
先判斷是不是就對(duì)的路徑

import os
print(os.path.isabs('/root/PycharmProjects/pythonProject1/4/test.txt'))
print(os.path.isabs('test.txt'))

結(jié)果如下:

在這里插入圖片描述

生成絕對(duì)路徑:

import os
print(os.path.abspath('/root/PycharmProjects/pythonProject1/4/test.txt'))
print(os.path.abspath('test.txt'))

結(jié)果如下:

在這里插入圖片描述

目錄名和文件名的拼接

#os.path.dirname獲取某個(gè)文件對(duì)應(yīng)的目錄名
#__file__是指當(dāng)前文件
#join 拼接,將目錄和文件名拼接起來(lái)

import os
BASE_DIR = os.path.dirname(__file__)
setting_file = os.path.join(BASE_DIR,'dev.conf')
print(setting_file)

結(jié)果如下:

在這里插入圖片描述

獲取目錄名或者文件名

import os
filename = 'D:/root/westos/test.txt'
print(os.path.basename(filename)) #輸出文件名
print(os.path.dirname(filename)) #輸出文件所在目錄

結(jié)果如下:

在這里插入圖片描述

介紹文件的創(chuàng)建和刪除

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

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

以上就是python持久化存儲(chǔ)文件操作的詳細(xì)內(nèi)容,更多關(guān)于python存儲(chǔ)文件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python面向?qū)ο髮?shí)現(xiàn)一個(gè)對(duì)象調(diào)用另一個(gè)對(duì)象操作示例

    Python面向?qū)ο髮?shí)現(xiàn)一個(gè)對(duì)象調(diào)用另一個(gè)對(duì)象操作示例

    這篇文章主要介紹了Python面向?qū)ο髮?shí)現(xiàn)一個(gè)對(duì)象調(diào)用另一個(gè)對(duì)象操作,結(jié)合實(shí)例形式分析了Python對(duì)象的定義、初始化、調(diào)用等相關(guān)操作技巧,需要的朋友可以參考下
    2019-04-04
  • Python基于字典實(shí)現(xiàn)switch case函數(shù)調(diào)用

    Python基于字典實(shí)現(xiàn)switch case函數(shù)調(diào)用

    這篇文章主要介紹了Python基于字典實(shí)現(xiàn)switch case函數(shù)調(diào)用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Pytorch 抽取vgg各層并進(jìn)行定制化處理的方法

    Pytorch 抽取vgg各層并進(jìn)行定制化處理的方法

    今天小編就為大家分享一篇Pytorch 抽取vgg各層并進(jìn)行定制化處理的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • Python?第三方opencv庫(kù)實(shí)現(xiàn)圖像分割處理

    Python?第三方opencv庫(kù)實(shí)現(xiàn)圖像分割處理

    這篇文章主要介紹了Python?第三方opencv庫(kù)實(shí)現(xiàn)圖像分割處理,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-06-06
  • python小程序?qū)崿F(xiàn)刷票功能詳解

    python小程序?qū)崿F(xiàn)刷票功能詳解

    這篇文章主要介紹了python小程序?qū)崿F(xiàn)刷票功能詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • python矩陣列的實(shí)現(xiàn)示例

    python矩陣列的實(shí)現(xiàn)示例

    在Python和NumPy庫(kù)的幫助下,矩陣列可以很容易地進(jìn)行各種操作,本文主要介紹了python矩陣列的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • python最短路徑的求解Dijkstra算法示例代碼

    python最短路徑的求解Dijkstra算法示例代碼

    這篇文章主要給大家介紹了關(guān)于python最短路徑的求解Dijkstra算法的相關(guān)資料,并使用Python的heapq模塊實(shí)現(xiàn)該算法,通過(guò)示例展示了如何從節(jié)點(diǎn)0到節(jié)點(diǎn)8求解最短路徑,需要的朋友可以參考下
    2024-11-11
  • python中使用pymssql庫(kù)操作MSSQL數(shù)據(jù)庫(kù)

    python中使用pymssql庫(kù)操作MSSQL數(shù)據(jù)庫(kù)

    這篇文章主要給大家介紹了關(guān)于python中使用pymssql庫(kù)操作MSSQL數(shù)據(jù)庫(kù)的相關(guān)資料,最近在學(xué)習(xí)python,發(fā)現(xiàn)好像沒有對(duì)pymssql的詳細(xì)說(shuō)明,于是乎把官方文檔學(xué)習(xí)一遍,重要部分做個(gè)歸檔,方便以后查閱,需要的朋友可以參考下
    2023-08-08
  • wxPython窗體拆分布局基礎(chǔ)組件

    wxPython窗體拆分布局基礎(chǔ)組件

    這篇文章主要為大家詳細(xì)介紹了wxPython窗體拆分布局基礎(chǔ)組件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • Pycharm如何對(duì)python文件進(jìn)行打包

    Pycharm如何對(duì)python文件進(jìn)行打包

    這篇文章主要介紹了Pycharm如何對(duì)python文件進(jìn)行打包,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02

最新評(píng)論