1、有如下文件,a1.txt,里面的內容為:
?
老男孩是最好的培訓機構,
全心全意為學生服務,
只為學生未來,不為牟利。
我說的都是真的。哈哈
?
分別完成以下的功能:
a,將原文件全部讀出來并打印。
with open("a1.txt",encoding="utf-8") as f1:data=f1.read()print(data)
b,在原文件后面追加一行內容:信不信由你,反正我信了。
with open("a1.txt","a+",encoding="utf-8") as f1:data=f1.read()print(data)f1.write("信不信由你,反正我信了。")
c、將原文件全部讀出來,并在后面添加一行內容:信不信由你,反正我信了。
with open("a1.txt","a+",encoding="utf-8") as f1:
data=f1.read()
print(data)
f1.write("\n信不信由你,反正我信了。")
d、將原文件全部清空,換成下面的內容:
?每天堅持一點,
每天努力一點,
每天多思考一點,
慢慢你會發現,
你的進步越來越大。
f1.write("每天堅持一點,\n每天努力一點,\n每天多思考一點,\n慢慢你會發現,\n你的進步越來越大。")
e、將原文件內容全部讀取出來,并在‘我說的都是真的。哈哈’這一行的前面加一行,‘你們就信吧~’然后將更改之后的新內容,寫入到一個新文件:a1.txt。import os
with open("a1.txt","r",encoding="utf-8") as f1,open("a2.txt","w",encoding="utf-8") as f2:
data=f1.readlines()
for i in data:
i=i.replace("我說的都是真的。哈哈","你們就信吧~\n我說的都是真的。哈哈")
f2.write(i)
os.remove("a1.txt")
os.rename("a2.txt","a1.txt")
2、有如下文件,t1.txt,里面的內容為:
?
葫蘆娃,葫蘆娃,
一根藤上七個瓜
風吹雨打,都不怕,
啦啦啦啦。
我可以算命,而且算的特別準:
上面的內容你肯定是心里默唱出來的,對不對?哈哈
?分別完成下面的功能:
a,以r+的模式打開原文件,判斷原文件是否可讀,是否可寫。
with open("t1.txt","r+",encoding="utf-8") as f1:
print(f1.readable())
print(f1.writable())
b、以r的模式打開原文件,利用for循環遍歷文件句柄。
with open("t1.txt",encoding="utf-8") as f1:
for i in f1:
print(i)
c、以r的模式打開原文件,以readlines()方法讀取出來,并循環遍歷readlines(),并分析b,與c 有什么區別?深入理解文件句柄與readlines()結果的區別。
with open("t1.txt",encoding="utf-8") as f1:
data=f1.readlines()
for i in data:
print(i)
d、以r模式讀取‘葫蘆娃,’前四個字符。
with open("t1.txt",encoding="utf-8") as f1:
data=f1.read(4)
print(data)
e、以r模式讀取第一行內容,并去除此行前后的空格,制表符,換行符。
with open("t1.txt",encoding="utf-8") as f1:
data=f1.readline().strip()
print(data)
f、以r模式打開文件,從‘風吹雨打.....’開始讀取,一直讀到最后。
with open("t1.txt",encoding="utf-8") as f1:
f1.readline()
f1.readline()
print(f1.read())
g、以a+模式打開文件,先追加一行:‘老男孩教育’然后在從最開始將 原內容全部讀取出來。
with open("t1.txt","a+",encoding="utf-8") as f1:
f1.write("老男孩教育")
f1.seek(0)
print(f1.read())
h、截斷原文件,留下內容:‘葫蘆娃’
with open("t1.txt","r+",encoding="utf-8") as f1:
f1.truncate(9)
for i in f1:
print(i)
3、文件a.txt內容:每一行內容分別為商品名字,價錢,個數。
?apple 10?3
tesla 100000 1
mac 3000 2
lenovo 30000 3
chicken 10 3
?通過代碼,將其構建成這種數據類型:[{'name':'apple','price':10,'amount':3},{'name':'tesla','price':1000000,'amount':1}......] 并計算出總價錢。
with open("t1.txt",encoding="utf-8") as f1:
data=f1.readlines()
dic={}
li=[]
li1=[]
for i in data:
# a,b,c=i.strip().split()
if i.strip():
li.append(i)
for i in li:
a,b,c=i.split()
li1.append({"name":a,"price":b,"amount":c})
print(li1)
4、有如下文件:?
alex是老男孩python發起人,創建人。
alex其實是人妖。
誰說alex是sb?
你們真逗,alex再牛逼,也掩飾不住資深屌絲的氣質。
?將文件中所有的alex都替換成大寫的SB(文件的改的操作)。?
?
import os
with open("t1.txt",encoding="utf-8") as f1,open("t2.txt","w+",encoding="utf-8") as f2:
for i in f1:
i=i.replace("alex","SB")
f2.write(i)
os.remove("t1.txt")
os.rename("t2.txt","t1.txt")
?
?