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")

                                                                            

python练习题-day8的更多相关文章

  1. python笔记 - day8

    python笔记 - day8 参考: http://www.cnblogs.com/wupeiqi/p/4766801.html http://www.cnblogs.com/wupeiqi/art ...

  2. Python练习题 028:求3*3矩阵对角线数字之和

    [Python练习题 028] 求一个3*3矩阵对角线元素之和 ----------------------------------------------------- 这题解倒是解出来了,但总觉得 ...

  3. Python练习题 027:对10个数字进行排序

    [Python练习题 027] 对10个数字进行排序 --------------------------------------------- 这题没什么好说的,用 str.split(' ') 获 ...

  4. Python练习题 026:求100以内的素数

    [Python练习题 026] 求100以内的素数. ------------------------------------------------- 奇怪,求解素数的题,之前不是做过了吗?难道是想 ...

  5. Python练习题 025:判断回文数

    [Python练习题 025] 一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同. ---------------------------------------- ...

  6. Python练习题 024:求位数及逆序打印

    [Python练习题 024] 给一个不多于5位的正整数,要求:一.求它是几位数,二.逆序打印出各位数字. ---------------------------------------------- ...

  7. Python练习题 004:判断某日期是该年的第几天

    [Python练习题 004]输入某年某月某日,判断这一天是这一年的第几天? ---------------------------------------------- 这题竟然写了 28 行代码! ...

  8. Python练习题-1.使用匿名函数对1~1000求和,代码力求简洁。

    Python 练习 标签(空格分隔): Python Python练习题 Python知识点 一.使用匿名函数对1~1000求和,代码力求简洁. 答案: In [1]: from functools ...

  9. PYTHON练习题 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数。

    Python 练习 标签: Python Python练习题 Python知识点 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数,如果大于预设的 ...

随机推荐

  1. 时间序列分解算法:STL

    1. 详解 STL (Seasonal-Trend decomposition procedure based on Loess) [1] 为时序分解中一种常见的算法,基于LOESS将某时刻的数据\( ...

  2. FFmpeg: FFmepg中的sws_scale() 函数分析

    FFmpeg中的 sws_scale() 函数主要是用来做视频像素格式和分辨率的转换,其优势在于:可以在同一个函数里实现:1.图像色彩空间转换, 2:分辨率缩放,3:前后图像滤波处理.不足之处在于:效 ...

  3. js实现根据文本下标位置添加特殊标识

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. 如何知道局域网内哪些ip被占用----工具法Free IP Scanner

    在局域网中,尤其是在工作室和公司中需要修改IP地址才能上网,通常我们在设置完ip地址后会提示[该ip地址已被占用],又得回头去修改ip地址.本篇经验就介绍一款很好用的免费软件——Free IP Sca ...

  5. 【Unity】通用的Debugger日志模块

    模块代码整理自 http://gad.qq.com/lore/catalog/10007 Debugger类.提供打印日志的静态方法. using System; using System.IO; n ...

  6. shell脚本自动登录服务器

    #!/bin/sh function trapper(){ trap 'exit 1' EXIT QUIT; } serverArr=( guard-boot-001,10.1.17.12 guard ...

  7. DTO转DOMAIN动态转换类。

    package dtotransfer.util; import dtotransfer.annotation.DomainField; import java.lang.annotation.Ann ...

  8. 一对一voip,直播连麦,在线会议,兼容webrtc,IM音视频

    功能 IM消息系统 一对一 高清音视频实时通信,可无缝切换P2P传输,节省服务器带宽 一对多互动直播 多对多在线会议 手机实时录屏传输 高度定制化 网络检测,动态码率与动态帧率,抗网络抖动,微信级效果 ...

  9. 解决java.lang.annotation.AnnotationFormatError: Invalid default: public abstract java.lang.Class org.robolectric.annotation.Config.application()

    Deleting the .gradle folder worked for me too. Odd. Guessing some high level caching going on somewh ...

  10. socket.timeout: The read operation timed out 更改pip源至国内镜像,显著提升下载速度

    出现socket.timeout: The read operation timed out  错误的时候,可能是pip源不稳定,改改试试看!  经常在使用Python的时候需要安装各种模块,而pip ...