python基礎知識六 文件的基本操作+菜中菜

基礎知識六 文件操作

​ open():打開

​ file:文件的位置(路徑)

​ mode:操作文件模式

​ encoding:文件編碼方式

​ f :文件句柄

f = open("1.txt",mode = 'r',encoding = 'utf-8')
print(f.read())
f.close

1.文件操作模式:

​ r,w,a(重要)

​ rb,wb,ab(次要)

​ r+,w+,a+

1.1 r/w/a

1. r操作:
f = open('1.txt','r')
print(f.read()) #全部讀取
print(f.read(5))#按照字符進行讀取,前5個
print(f.readline())#讀取一行內容,自動換行
print(f.readline().strip())#拖\n
print(f.readlines())#一行一行讀,存為列表

#解決大文件:
for i in f:
    print(i)#本質就是一行一行進行讀取
2. w操作:
  1. 先清空文件
  2. 寫入文件
f = open('1.txt','w',encoding='utf-8')
f.write('13030308\n')
f.write('456456\n')
f.close()
3. a操作:追加操作
#在源文件的基礎上進行添加
f = open('1.txt','a',encoding='utf-8')
f.write('13030308\n')
f.write('456456\n')
f.close()

1.2. b操作:rb/wb/ab

#rb:
f1 = open('1.jpg','rb')
print(f1.read())
print(f1.read(3))#按照字節讀取,讀取前3個字節
#wb:
f = open('3.jpg','wb')
f.write(f1.read())
#ab:
f = open('2.jpg','ab')
f.write('你好啊',encode = 'utf-8')
1.3 +操作
1. r+:讀寫。應該先讀後寫
#錯誤示範
f = open('1.txt','r+')
#f = write('cx你太美')
#print(f.read())
#正確
print(f.read())
f = write('cx你太美')
2. w+ :清空寫讀
#讀不到內容
f = open('1.txt','w+')
f = write('cx你太美')#光標問題
print(f.read())
3. a+:追加寫讀
#讀不到內容
f = open('1.txt','a+')
f = write('cx你太美')#光標問題
print(f.read())

2.菜中菜:

1.f.tell(): 返回的是字節數
2.f.seek(): 移動光標,
  1. seek(0,0) –> 移動到文件頭部
  2. seek(0,1) –> 當前位置
  3. seek(0,2) –> 移動到文件末尾
  4. seek(3) –> 按字節移動(按照不同編碼集進行計算)
print(f.tell())#显示光標位置,返回的是字節數
f.seek(0)#移動光標
3.文件修改:
f =open('1.txt','r','utf-8')
#for i in f:
s = f.read()
s1 = s.replace('12','45')
f.close()
f1 =open('1.txt','w','utf-8')
f1.write(s1)
f1.close()   
4.with open()#自動打開關閉文件
with open('1.txt','r','utf-8') as f,\
open('1.1.txt','w','utf-8') as f1:
    for i in f:
        s1 =i.replace('12','45')
        f1.write(s1)
import os 
os.rename('1.txt','1.bak')
os.rename('1.1.txt','1.txt')

3.相對路徑:

  1. 絕對路徑方式打開文件

    路徑轉義:

    1.”\”

    2.r”C:\user\net”

f = open("E:\\python\\oldboy\\py\\190715",'r','utf-8')
#路徑轉義:1.'\\'
#2.r。-->repr():數據的原形態
#s = "[1,2,'3',4]"
#print(s)
#print(repr(s))#--显示數據原形態
f = open(r"E:\python\oldboy\py\190715",'r','utf-8')
print(f.read())
f.close()
  1. 相對路徑
f = open("../190713/1.txt",'r','utf-8')
print(f.read())
f.close()
#推薦使用相對路徑
点赞

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *