溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python元組與文件實(shí)例分析

發(fā)布時(shí)間:2022-02-21 15:29:07 來(lái)源:億速云 閱讀:120 作者:iii 欄目:開(kāi)發(fā)技術(shù)

本篇內(nèi)容介紹了“Python元組與文件實(shí)例分析”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

一、元組

1 特征

1.任意對(duì)象的有序集合
2.通過(guò)下標(biāo)訪問(wèn)
3.不可變
4.長(zhǎng)度固定,任意類型,任意嵌套

>>> t = (1,2,3,4,5)
>>> t[0] = 2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment

2 聲明

(value1,value2,…)

3 操作

1.index(val):查找索引
2.count(val):統(tǒng)計(jì)數(shù)據(jù)

>>> t
(1, 2, 3, 4, 5)
>>> t.index(3)
2
>>> t.count(3)
1

元組代碼

(1,2) #定義一個(gè)元組
(1, 2)
(1,2)+(3,4)#增加元組
(1, 2, 3, 4)

t=[1,2,3,4,5]
res=[x**2 for x in t] #計(jì)算出t中元素的平方并放在res中
res
[1, 4, 9, 16, 25]
t.index(3) #檢索3的位置
2
t.count(3) #數(shù)元組t中3的個(gè)數(shù)
1

from collections import namedtuple #引入namedtuple給員工賦值
employee=namedtuple("employee",["named","age","department","salary"]) #定義一個(gè)員工模板
Jerry=employee("Jerry",30,"財(cái)務(wù)部","9000.00")#給名叫Jerry的員工賦值
Jerry
employee(named='Jerry', age=30, department='財(cái)務(wù)部', salary='9000.00')
Jerry.age #讀取Jerry的年齡
30

二、文件

1 基本語(yǔ)法

file = open(‘文件名',mode)

三種模式

mode:r ,w ,a

>>> myfile = open('hello.txt','w') #若沒(méi)有,自動(dòng)創(chuàng)建文件

2 操作

read、readlines、close方法

>>> myfile = open('hello.txt','w')
>>> myfile.write("學(xué)編程就到W3Cschool
") #寫(xiě)操作
10
>>> myfile.close()
>>> f = open('hello.txt')
>>> f.read()
'學(xué)編程就到W3Cschool'>>> f.read()
''
>>> f = open('hello.txt')
>>> f.readline()                      #readline一次讀取一行,返回字符串
'學(xué)編程就到W3Cschool'>>> f.readline()
''
>>> l = open('hello.txt').readlines() #readline一次讀取全部行,返回列表
>>> l
['學(xué)編程就到W3Cschool']

with open() as …用于臨時(shí)打開(kāi)文件,結(jié)束后自動(dòng)close釋放資源(推薦這種用這種方式打開(kāi)文件進(jìn)行操作)

>>> f = open('hello.txt')
>>> f.read()
'學(xué)編程就到W3Cschool'>>> f.read()
''
>>> f = open('hello.txt')
>>> f.readline()                      #readline一次讀取一行,返回字符串
'學(xué)編程就到W3Cschool'>>> f.readline()
''
>>> l = open('hello.txt').readlines() #readline一次讀取全部行,返回列表
>>> l
['學(xué)編程就到W3Cschool']

文件權(quán)限

  • rb 以二進(jìn)制格式打開(kāi)一個(gè)文件用于只讀。文件指針將會(huì)放在文件的開(kāi)頭。一般用于 非文本文件如圖片等。

注意:二進(jìn)制文件把內(nèi)容表示為一個(gè)特殊的 bytes 字符串類型。

# file = open("demo1/1.txt","rb")
file = open("demo1/1.png","rb")
ret = file.read()  #b'huangzhi'   huangzhi
print(ret)
file.close()

r+ 打開(kāi)一個(gè)文件用于讀寫(xiě)。文件指針將會(huì)放在文件的開(kāi)頭。

file = open("demo1/1.txt","r+")
# ret = file.read() #讀取全部?jī)?nèi)容
# print(ret) 
file.write("guyin") #從頭寫(xiě)入,原有內(nèi)容會(huì)逐漸被覆蓋
file.close()
  • rb+ 以二進(jìn)制格式打開(kāi)一個(gè)文件用于讀寫(xiě)。文件指針將會(huì)放在文件的開(kāi)頭。一般用于 非文本文件如圖片等。

  • wb 以二進(jìn)制格式打開(kāi)一個(gè)文件只用于寫(xiě)入。如果該文件已存在則打開(kāi)文件,并從開(kāi)頭開(kāi)始編輯,即原有內(nèi)容會(huì)被刪除。如果該文件不存在,創(chuàng)建新文件。一般用于非文本文件如圖片等。

from demo1.img import img2
file = open("demo1/2.jpg","wb")
file.write(img2)
file.close()
  • w+ 打開(kāi)一個(gè)文件用于讀寫(xiě)。如果該文件已存在則打開(kāi)文件,并從開(kāi)頭開(kāi)始編輯,即 原有內(nèi)容會(huì)被刪除。如果該文件不存在,創(chuàng)建新文件。

file = open("demo1/1.txt","w+")
file.write("hello world")
ret = file.read()
print(ret)
file.close()
  • a 打開(kāi)一個(gè)文件用于追加。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。

也 就是說(shuō),新的內(nèi)容將會(huì)被寫(xiě)入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件 進(jìn)行寫(xiě)入。

#在demo1下的111.txt中追加“guyin”
# file = open("demo1/111.txt","a")
file = open("demo1/3.txt","a")
file.write("guyin")
file.close()
  • ab 以二進(jìn)制格式打開(kāi)一個(gè)文件用于追加。如果該文件已存在,文件指針將會(huì)放在文 件的結(jié)尾。也就是說(shuō),新的內(nèi)容將會(huì)被寫(xiě)入到已有內(nèi)容之后。如果該文件不存在, 創(chuàng)建新文件進(jìn)行寫(xiě)入。

  • a+ 打開(kāi)一個(gè)文件用于讀寫(xiě)。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。

  • 文 件打開(kāi)時(shí)會(huì)是追加模式。如果該文件不存在,創(chuàng)建新文件用于讀寫(xiě)。

file = open("demo1/111.txt","a+")
file.write("yangyong")
ret = file.read()
print(ret)
file.close()
  • ab+ 以二進(jìn)制格式打開(kāi)一個(gè)文件用于追加。如果該文件已存在,文件指針將會(huì)放在文 件的結(jié)尾。如果該文件不存在,創(chuàng)建新文件用于讀寫(xiě)。

三、pickle存儲(chǔ)和讀取python對(duì)象

dump(對(duì)象,目標(biāo)文件)
load(文件)

f = open('datafile.pkl','wb')
>>> import pickle
>>> d = {'a':1,'b':2}
>>> pickle.dump(d,f)
>>> f.close()
 
 
>>> f = open('datafile.pkl','rb')
>>> data = pickle.load(f)
>>> data
{'a': 1, 'b': 2}

“Python元組與文件實(shí)例分析”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI