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. Spring Boot系列——如何集成Log4j2

    上篇<Spring Boot系列--日志配置>介绍了Spring Boot如何进行日志配置,日志系统用的是Spring Boot默认的LogBack. 事实上,除了使用默认的LogBack ...

  2. MySQL查询库和表占用的硬盘空间大小

    在mysql中有一个默认的数据表information_schema,information_schema这张数据表保存了MySQL服务器所有数据库的信息.如数据库名,数据库的表,表栏的数据类型与访问 ...

  3. 通过一个小Trick实现shader的像素识别/统计操作

    2018/12/14日补充:后来发现compute shader里用AppendStructuredBuffer可以解决这类问题,请看这里:https://www.cnblogs.com/hont/p ...

  4. webview调起浏览器

    调起浏览器 url = "intent://" + url +"#Intent;scheme=http;action=android.intent.action.VIEW ...

  5. git 创建tag , 查看tag , 删除tag

    简介  用git了很久了,也喜欢这个版本控制工具,今天来分享下,怎么用命令创建tag,查看tag,删除tag和把本地tag推到远程git服务器上 C:\Users\\WandaPuHuiProject ...

  6. LiveSwitch白皮书

    https://www.frozenmountain.com/media/1224/frozen-mountain-software-liveswitch-white-paper.pdf —————— ...

  7. Direct3D 11 Tutorial 3: Shaders and Effect System_Direct3D 11 教程3:着色器和效果系统

    概述 在上一个教程中,我们设置了一个顶点缓冲区并将一个三角形传递给GPU. 现在,我们将逐步完成图形管道并查看每个阶段的工作原理. 将解释着色器和效果系统的概念. 请注意,本教程与前一个源代码共享相同 ...

  8. org.hibernate.InvalidMappingException: Could not parse mapping document from无法创建sessionFactory

    把 "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd" 改为 "http://hibernate.sourc ...

  9. SpringMVC工作原理 : HandlerMapping和HandlerAdapter

    一.HandlerMapping 作用是根据当前请求的找到对应的 Handler,并将 Handler(执行程序)与一堆 HandlerInterceptor(拦截器)封装到 HandlerExecu ...

  10. Inside The C++ Object Model(四)

    ============================================================================4-1. Member 的各种调用方式静态成员函 ...