python練習題-day8

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、將原文件全部清空,換成下面的內容:

?每天堅持一點,

每天努力一點,

每天多思考一點,

慢慢你會發現,

你的進步越來越大。

with open("a1.txt","w",encoding="utf-8")as f1:
    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")

?

?

                                                                            

轉載于:https://www.cnblogs.com/fumy/p/10291964.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/249769.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/249769.shtml
英文地址,請注明出處:http://en.pswp.cn/news/249769.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

消息中間件應用場景

消息中間件應用場景

IDEA開發vue.js卡死問題

在執行cnpm install后會在node_modules這個文件下面生成vue的相關依賴文件, 這個時候當執行cnpm run dev命令時,會導致IDEA出現卡死的問題,解決方法如下: 轉載于:https://www.cnblogs.com/heqiuyong/p/10301925.html

[BZOJ4698][SDOI2008]Sandy的卡片(后綴自動機)

差分之后就是求多串LCS。 對其中一個串建SAM,然后把其它串放在上面跑。 對SAM上的每個狀態都用f[x]記錄這個狀態與當前串的最長匹配長度,res[x]是對每次的f[x]取最小值。答案就是res[]的最大值。 考慮f[x]的求法,把s[]放在SAM上跑時&#xff…

點對點

數據傳輸的可靠性是通過數據鏈路層和網絡層的點對點和傳輸層的端對端保證的。點對點是基于MAC地址或者IP地址,是指一個設備發數據給另外一個設備,這些設備是指直連設備包括網卡,路由器,交換機。端對端是網絡連接,應用程…

none

module.exports {root: true,env: {node: true},extends: [plugin:vue/essential, vue/prettier],rules: {no-console: process.env.NODE_ENV production ? error : off,no-debugger: process.env.NODE_ENV production ? error : off,prettier/prettier: [error,{// tab縮…

MQ消息中間件介紹

消息隊列技術是分布式應用間交換信息的一種技術,消息隊列可駐留在內存或者磁盤上,隊列存儲消息直到它們被應用程序讀走,通過消息隊列,應用程序可以獨立的執行—它們不需要知道彼此的位置,或者繼續執行前不需要等待接收…

22 塊級元素和行內元素

學習的初期,我們就要知道,標準文檔流等級森嚴。標簽分為兩種等級: 行內元素塊級元素比如h1標簽和span,同時設置寬高,來看瀏覽器效果,那么你會發現: 行內元素和塊級元素的區別:&#…

節流防抖

https://www.cnblogs.com/fsjohnhuang/p/4147810.html 轉載于:https://www.cnblogs.com/smzd/p/10943002.html

P3796 【模板】AC自動機(加強版)

題目描述 有 NNN 個由小寫字母組成的模式串以及一個文本串 TTT 。每個模式串可能會在文本串中出現多次。你需要找出哪些模式串在文本串 TTT 中出現的次數最多。 輸入輸出格式 輸入格式:輸入含多組數據。 每組數據的第一行為一個正整數 NNN ,表示共有 NNN…

訪問數據庫優化

例如:工資表里面有全公司人員的工資信息。 現在我需要把這些工資信息打印成工資條。因此需要訪問數據庫。 1.把整個表全部讀取出來,內存處理每個人的工資信息。 2.按照人員單個查詢每個人的工資信息。 分析:第一種情況是將所有的人員全部查詢…

psql 命令

(1)使用命令行連接數據庫psql -U postgres -h localhost -p 5433 (2)列出所有的數據庫\l -- 查看所有數據庫(3)進入某個數據庫\c name -- name是表名(4)列出數據庫的所有數據表和視圖\d -- 列出所有的數據…

各種緩存介紹

說起緩存相關技術,老多了, memcache、redis、squid、varnish、web cache、 CDN等等。緩存技術五花八門,但這些技術間有什么共性的地方,又有什么不同的地方呢?答案肯定是有的,這次為大家分享及整理一下緩存方…

CentOS6.8 安裝node.js npm

環境:CentOS6.8_X64系統 一、到官方下載最新的編譯好的安裝文件,目前是6.9.4。 $>cd /usr/local/src #定位到這個目錄,下載的文件會在這個目錄#使用wget下載(這個內置命令) $>wget https://nodejs.org/dist/v8.1…

[上下界網絡流][二分] Bzoj P2406 矩陣

題目描述 輸入輸出格式 輸入格式: 第一行兩個數n、m,表示矩陣的大小。 接下來n行,每行m列,描述矩陣A。 最后一行兩個數L,R。 輸出格式: 第一行,輸出最小的答案; 輸入輸出樣例 輸入樣…

記錄自己的nest學習之旅

.a r 轉載于:https://www.cnblogs.com/smzd/p/10978807.html

PYTHON 爬蟲筆記七:Selenium庫基礎用法

知識點一:Selenium庫詳解及其基本使用 什么是Selenium selenium 是一套完整的web應用程序測試系統,包含了測試的錄制(selenium IDE),編寫及運行(Selenium Remote Control)和測試的并行處理(Sele…

pyqt5界面切換

#主要的思路就是創建兩個frame(如果有兩個以上同理)使用setVisible()函數顯示或者隱藏frame 參數是bool值import sys from PyQt5.QtWidgets import * from PyQt5.QtCore import * from PyQt5.QtGui import *class logindialog(QDialog):def __init__(sel…

mac 完全卸載vscode

原文分隔線while writing go this morning, I found that the wrong code are not under lined by red line This is really difficult for me and time consuming to keep writing. After 1 hour of wasting time trying to figure out what happened, I decide to kill it al…

RPC簡介及框架選擇

簡單介紹RPC協議及常見框架,對比傳統restful api和RPC方式的優缺點。常見RPC框架,gRPC及序列化方式Protobuf等 HTTP協議 http協議是基于tcp協議的,tcp協議是流式協議,包頭部分可以通過多出的\r\n來分界,包體部分如何分…

CSS3的calc()使用

什么是calc()? 學習calc()之前,我們有必要先知道calc()是什么?只有知道了他是個什么東東?在實際運用中更好的使用他。 calc()從字面我們可以把他理解為一個函數function。其實calc是英文單詞calculate(計算)的縮寫,是css3的一個新…