溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

文件操作with語句

發(fā)布時間:2020-06-29 13:17:44 來源:網絡 閱讀:489 作者:堅持和學習 欄目:編程語言

import sys

data=open("gc.txt","r",encoding="utf-8") #只能讀取文件

data=open("gc.txt","w",encoding="utf-8") #寫模式創(chuàng)建一個文件(如果文件名相同會覆蓋掉)

data=open("gc.txt","a",encoding="utf-8") #只能在文件后面追加

print(data.readline()) #打印一行

print(data.readlines()) #打印成列表

for i in range(5):

print(data.readline())

'''
#low 方法 適合讀小文件
for index,line in enumerate(data.readlines()):#取出下標和對應的值
if index==9:
print("----ooo----")
continue
print(line.strip())

#high bige 度一行覆蓋一行,常用牛逼方法
count=0
for loo in data:
if count==4:
print('-----You will die-----')
count+=1
continue
print(loo)
count+=1
'''

#光標使用

f=open("gc.txt","r",encoding="utf-8")

print(f.tell())#打印光標當前位置

print(f.read(5)) #按字符讀取

print(f.readline()) #按行讀取

print(f.tell())

f.seek(0)#光標移動端指定位置

print(f.encoding)#打印所用字符編碼

print(f.flush())#強制刷新

f.truncate(10)#截斷,從開頭開始截,光標移動后再截斷沒用,依然從頭開始算。

#f=open("yesok2",'r+',encoding="utf-8")#文件句柄 讀寫,在最后追加
#f=open("gc.txt",'w+',encoding="utf-8")#文件句柄 寫讀,覆蓋原文件(創(chuàng)建新文件)后寫。只會在最后追加。文件觀后再打開寫入會覆蓋
#f=open("yesok2",'a+',encoding="utf-8")#文件句柄 追加讀寫

f=open("yesok2",'rb') #文件句柄 以二進制讀文件

f=open("yesok2",'wb') #文件句柄 以二進制寫

f=open("yesok2",'ab') #文件句柄 以二進制追加

f.write("hello\n".encode()) #二進制寫讀

f.close

f=open("gc.txt","r",encoding="utf-8")

f1=open("gc1.txt","w",encoding="utf-8")

for line in f:

if "是掙扎的自由" in line:

line=line.replace("是掙扎的自由","有我無敵天下")

f1.write(line )

#f.close()
#f1.close()

#find_str=sys.argv[1]
#replace_str=sys.argv[2]
#for line in f:
#if find_str in line:
#line=line.replace(find_str,replace_str)
#f1.write(line)
#f.close()
#f1.close()

with語句

with open("gege",'r',encoding="utf-8") as f:
for line in f:
print(line) #執(zhí)行完自動關閉文件

同時打開文件不建議這么寫

with open("gege",'r',encoding="utf-8") as f,open("gege",'r',encoding="utf-8") as f:
pass

打開多個文件建議這么寫

with open("gege",'r',encoding="utf-8") as f,\
open("gege",'r',encoding="utf-8") as f2:
for line in f:
print(line) #執(zhí)行完自動關閉文件

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI