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、将原文件全部清空,换成下面的内容:
每天坚持一点,
每天努力一点,
每天多思考一点,
慢慢你会发现,
你的进步越来越大。
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的更多相关文章
- python笔记 - day8
python笔记 - day8 参考: http://www.cnblogs.com/wupeiqi/p/4766801.html http://www.cnblogs.com/wupeiqi/art ...
- Python练习题 028:求3*3矩阵对角线数字之和
[Python练习题 028] 求一个3*3矩阵对角线元素之和 ----------------------------------------------------- 这题解倒是解出来了,但总觉得 ...
- Python练习题 027:对10个数字进行排序
[Python练习题 027] 对10个数字进行排序 --------------------------------------------- 这题没什么好说的,用 str.split(' ') 获 ...
- Python练习题 026:求100以内的素数
[Python练习题 026] 求100以内的素数. ------------------------------------------------- 奇怪,求解素数的题,之前不是做过了吗?难道是想 ...
- Python练习题 025:判断回文数
[Python练习题 025] 一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同. ---------------------------------------- ...
- Python练习题 024:求位数及逆序打印
[Python练习题 024] 给一个不多于5位的正整数,要求:一.求它是几位数,二.逆序打印出各位数字. ---------------------------------------------- ...
- Python练习题 004:判断某日期是该年的第几天
[Python练习题 004]输入某年某月某日,判断这一天是这一年的第几天? ---------------------------------------------- 这题竟然写了 28 行代码! ...
- Python练习题-1.使用匿名函数对1~1000求和,代码力求简洁。
Python 练习 标签(空格分隔): Python Python练习题 Python知识点 一.使用匿名函数对1~1000求和,代码力求简洁. 答案: In [1]: from functools ...
- PYTHON练习题 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数。
Python 练习 标签: Python Python练习题 Python知识点 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数,如果大于预设的 ...
随机推荐
- Spring Boot系列——如何集成Log4j2
上篇<Spring Boot系列--日志配置>介绍了Spring Boot如何进行日志配置,日志系统用的是Spring Boot默认的LogBack. 事实上,除了使用默认的LogBack ...
- MySQL查询库和表占用的硬盘空间大小
在mysql中有一个默认的数据表information_schema,information_schema这张数据表保存了MySQL服务器所有数据库的信息.如数据库名,数据库的表,表栏的数据类型与访问 ...
- 通过一个小Trick实现shader的像素识别/统计操作
2018/12/14日补充:后来发现compute shader里用AppendStructuredBuffer可以解决这类问题,请看这里:https://www.cnblogs.com/hont/p ...
- webview调起浏览器
调起浏览器 url = "intent://" + url +"#Intent;scheme=http;action=android.intent.action.VIEW ...
- git 创建tag , 查看tag , 删除tag
简介 用git了很久了,也喜欢这个版本控制工具,今天来分享下,怎么用命令创建tag,查看tag,删除tag和把本地tag推到远程git服务器上 C:\Users\\WandaPuHuiProject ...
- LiveSwitch白皮书
https://www.frozenmountain.com/media/1224/frozen-mountain-software-liveswitch-white-paper.pdf —————— ...
- Direct3D 11 Tutorial 3: Shaders and Effect System_Direct3D 11 教程3:着色器和效果系统
概述 在上一个教程中,我们设置了一个顶点缓冲区并将一个三角形传递给GPU. 现在,我们将逐步完成图形管道并查看每个阶段的工作原理. 将解释着色器和效果系统的概念. 请注意,本教程与前一个源代码共享相同 ...
- org.hibernate.InvalidMappingException: Could not parse mapping document from无法创建sessionFactory
把 "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd" 改为 "http://hibernate.sourc ...
- SpringMVC工作原理 : HandlerMapping和HandlerAdapter
一.HandlerMapping 作用是根据当前请求的找到对应的 Handler,并将 Handler(执行程序)与一堆 HandlerInterceptor(拦截器)封装到 HandlerExecu ...
- Inside The C++ Object Model(四)
============================================================================4-1. Member 的各种调用方式静态成员函 ...