自学python 8.
1.有如下文件,a1.txt,里面的内容为:
LNH是最好的培训机构,
全心全意为学生服务,
只为学生未来,不为牟利。
我说的都是真的。哈哈
分别完成以下的功能:
a,将原文件全部读出来并打印。
b,在原文件后面追加一行内容:信不信由你,反正我信了。
c,将原文件全部读出来,并在后面添加一行内容:信不信由你,反正我信了。
d,将原文件全部清空,换成下面的内容:
每天坚持一点,
每天努力一点,
每天多思考一点,
慢慢你会发现,
你的进步越来越大。
e,将原文件内容全部读取出来,并在‘我说的都是真的。哈哈’这一行的前面加一行,
‘你们就信吧~’然后将更改之后的新内容,写入到一个新文件:a1.txt。 a.f = open("al.txt",mode="r",encoding="utf-8")
s = f.read()
f.close()
print(s) b.f = open("al.txt",mode="a",encoding="utf-8")
f.write('\n信不信由你,反正我信了。')
f.flush()
f.close() c.f = open("al.txt",mode="r+",encoding="utf-8")
s = f.read()
print(s)
f.write('\n信不信由你,反正我信了。')
f.flush()
f.close() d.f = open("al.txt",mode="w",encoding="utf-8")
s = f.write('每天坚持一点,\n每天努力一点,\n每天多思考一点,\n慢慢你会发现,\n你的进步越来越大。')
print(s)
f.close() e.import os
with open("a1.txt",mode='r',encoding='utf-8') as f1 ,open("a1(1).txt",mode='w',encoding='utf-8') as f2:
s = f1.read()
ss = s.replace('我说的都是真的。哈哈','你们就信吧~\n我说的都是真的。哈哈')
f2.write(ss)
os.remove('a1.txt')
os.rename('a1(1).txt','a1.txt') 2.有如下文件,t1.txt,里面的内容为:
葫芦娃,葫芦娃,
一根藤上七个瓜
风吹雨打,都不怕,
啦啦啦啦。
我可以算命,而且算的特别准:
上面的内容你肯定是心里默唱出来的,对不对?哈哈
分别完成下面的功能:
a,以r+的模式打开原文件,判断原文件是否可读,是否可写。
b,以r的模式打开原文件,利用for循环遍历文件句柄。
c,以r的模式打开原文件,以readlines()方法读取出来,并循环遍历readlines(),并分析b与c有什么区别?深入理解文件句柄与readlines()结果的区别。
d,以r模式读取‘葫芦娃,’前四个字符。
e,以r模式读取第一行内容,并去除此行前后的空格,制表符,换行符。
f,以r模式打开文件,从‘风吹雨打.....’开始读取,一直读到最后。
g,以a+模式打开文件,先追加一行:‘老男孩教育’然后在从最开始将原内容全部读取出来。
h,截取原文件,截取内容:‘葫芦娃,葫芦娃,’ a.f = open("t1.txt",mode='r+',encoding='utf-8')
print(f.readable())
print(f.writable())
f.close() b.f = open("t1.txt",mode='r',encoding='utf-8')
for a in f:
print(a)
f.close() c.f = open("t1.txt",mode='r',encoding='utf-8')
s = f.readlines()
for line in s:
print(line)
f.close() d.f = open("t1.txt",mode='r',encoding='utf-8')
s = f.read(4)
print(s)
f.close() e.f = open("t1.txt",mode='r',encoding='utf-8')
s = f.readline()
print(s.strip())
f.close() f.f = open("t1.txt",mode='r',encoding='utf-8')
for line in f:
if line.startswith('风吹雨打'):
print(line, end='')
print(f.read())
f.close() g.f = open("t1.txt",mode='a+',encoding='utf-8')
s = f.write('\n老男孩教育')
f.seek(0)
print(f.read())
f.close() h.f = open("t1.txt",mode="r+",encoding='utf-8')
f.seek(24)
f.truncate()
f.seek(0)
s = f.read()
print(s)
f.close() 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}......]
并计算出总价钱。
f = open('a.txt',mode='r',encoding='utf-8')
lst = []
sum = 0
for a in f:
dic = {}
s = a.split(' ')
dic['name'] = s[0]
dic['price'] = int(s[1])
dic['amount'] = int(s[2])
sum += int(s[1])*int(s[2])
lst.append(dic)
print(lst)
print(sum) 4.有如下文件: alex是老男孩python发起人,创建人。
alex其实是人妖。
谁说alex是sb?
你们真逗,alex再牛逼,也掩饰不住资深屌丝的气质。 将文件中所有的alex都替换成大写的SB(文件的改的操作)。
import os
with open('a.txt',mode='r',encoding='utf-8') as f1,open('a1.txt',mode='w',encoding='utf-8') as f2:
s = f1.read()
ss = s.replace('alex','SB')
f2.write(ss)
os.remove('a.txt')
os.rename('a1.txt','a.txt') 5.文件a1.txt内容(升级题)
name:apple price:10 amount:3 year:2012
name:tesla price:100000 amount:1 year:2013
.......
通过代码,将其构建成这种数据类型:
[{'name':'apple','price':10,'amount':3},
{'name':'tesla','price':1000000,'amount':1}......]
并计算出总价钱。
f = open('a1.txt',mode='r',encoding='utf-8')
lst = []
sum = 0
for a in f:
dic = {}
s = a.strip().split(' ')
for el in s:
ss = el.split(':')
dic[ss[0]] = ss[1]
sum += int(dic['price'])*int(dic['amount'])
lst.append(dic)
print(lst)
print(sum) 6.文件a1.txt内容(升级题)
序号 部门 人数 平均年龄 备注
1 python 30 26 单身狗
2 Linux 26 30 没对象
3 运营部 20 24 女生多
.......
通过代码,将其构建成这种数据类型:
[{'序号':'1','部门':Python,'人数':30,'平均年龄':26,'备注':'单身狗'},
......]
f = open('a1.txt',mode='r',encoding='utf-8')
sh = f.readline()
qg1 = sh.split()
jg = []
for line in f:
ll = line.split()
dic = {}
for el in range(len(ll)):
dic[qg1[el]] = ll[el]
jg.append(dic)
print(jg)
自学python 8.的更多相关文章
- 【转载】如何系统地自学 Python?
原文:如何系统地自学 Python? 作者:彭猫 本文由 知乎 彭猫 授权发布,版权所有归作者,转载请联系作者! 是否非常想学好 Python,一方面被琐事纠缠,一直没能动手,另一方面,担心学习成本太 ...
- 420小时学习代码之后:如何教你免费自学Python
原文地址:learning-to-code-420-hours-later-how-to-teach-yourself-python-for-free 说明:有些网址需要FQ. 大约在1.5年前,我开 ...
- 你是如何自学 Python 的?
作为一名Python爱好者,我也想跟大家分享分享我自学Python的一些小经验.搬来你的小板凳,听听看吧.也许,你会很有收获,也许你也走上了自学Python的不归路.开讲啦~ 首先,你要有自信心,要明 ...
- 如何自学Python?
关于如何自学Python,我也是有话说的.来看看? Python具有丰富和强大的类库,常被称为胶水语言.而且语法简洁而清晰,功能强大且简单易学,因而得到了广泛应用和支持.它特别适合专家使用,也非常适 ...
- 自学Python之路
自学Python之路[第一回]:初识Python 1.1 自学Python1.1-简介 1.2 自学Python1.2-环境的搭建:Pycharm及python安装详细教程 1.3 ...
- 自学Python的经验之谈,学好Python的捷径
其实python非常适合初学者入门.相比较其他不少主流编程语言,有更好的可读性,因此上手相对容易.自带的各种模块加上丰富的第三方模块,免去了很多“重复造轮子”的工作,可以更快地写出东西.配置开发环境也 ...
- 如何系统地自学 Python?
最近开始系统的学习Python,以及整理的一些资料.github记录着个人自学 Python 的过程,持续更新.欢迎大家一起来完善这个自学Python学习的项目,给后来者一个参考的学习过程.githu ...
- 自学Python Day1
Day1: 强制转换,打印类型.Python2(row input)=Python3 input input(Python2)不接受强制转换,输入和输出是一致的.加双引号是字符串,不加 ...
- 自学Python之路-Python核心编程
自学Python之路-Python核心编程 自学Python之路[第六回]:Python模块 6.1 自学Python6.1-模块简介 6.2 自学Python6.2-类.模块.包 ...
- 自学Python之路-Python基础+模块+面向对象+函数
自学Python之路-Python基础+模块+面向对象+函数 自学Python之路[第一回]:初识Python 1.1 自学Python1.1-简介 1.2 自学Python1.2-环境的 ...
随机推荐
- 【cf849D】Rooter's Song(思维)
D. Rooter's Song 题意 x轴.y轴上有n个人,第i个人\(g_i==1\)则坐标为\((p_i,0)\)否则\((0,p_i)\),\(t_i\)秒后垂直所在坐标轴出发,到达边界x=w ...
- 【比赛】NOIP2018 旅行
发现 \(m\) 只有两种取值,于是可做了 树的直接贪心 图的枚举环上的边去掉,然后做树的贪心,搜的时候剪一下枝吧 写得有点乱 #include<bits/stdc++.h> #defin ...
- 洛谷P4689 [Ynoi2016]这是我自己的发明(莫队,树的dfn序,map,容斥原理)
洛谷题目传送门 具体思路看别的题解吧.这里只提两个可能对常数和代码长度有优化的处理方法. I 把一个询问拆成\(9\)个甚至\(16\)个莫队询问实在是有点珂怕. 发现询问的一边要么是一个区间,要么是 ...
- luogu2605 基站选址 (线段树优化dp)
设f[i][j]表示在第i个村庄建第j个基站的花费 那么有$f[i][j]=min\{f[k][j-1]+w[k,i]\}$,其中w[k,i]表示在k,i建基站,k,i中间的不能被满足的村庄的赔偿金之 ...
- mysql建立索引的几大原则
(转)仅供自己学习,特此记录 1.选择唯一性索引 唯一性索引的值是唯一的,可以更快速的通过该索引来确定某条记录.例如,学生表中学号是具有唯一性的字段.为该字段建立唯一性索引可以很快的确定某个学生的信息 ...
- mybatis的一种批量更新方法【我】
接手一个项目,项目主要架构用的 servlet 3.0 + spring + mybatis 其中发现一个问题: 操作数据时,批量插入可以,批量更新,使用各种写法都无法成功,直接报 mybatis转换 ...
- Idea + Git + GitLab 使用
首先去下载Git,https://git-scm.com/ 安装好之后,打开Idea--->Settings,,,设置Git路径,然后点击Test按钮 然后是GitLab,一般企业内部开发都会有 ...
- WORD2010如何把全角字母和数字批量转换成半角
个人觉得全角字符看起来相当别扭,如果文档中存在大量全角形式的字母和数字,要如何把它们全部转化成半角的呢? 全角和半角 全角是指一个字符占用两个标准字符位置的状态.汉字字符和规定了全角的英文字符 ...
- Transactional 事务
1.事务场景中,抛出异常被catch后,如果需要回滚,一定要手动回滚 其实像第一种try catch这种把整个包裹起来,这种业务方法也就等于脱离了spring事务的管理,因为没有任何异常会从业务方法中 ...
- 高级组件——弹出式菜单JPopupMenu
弹出式菜单JPopupMenu,需要用到鼠标事件.MouseListener必须要实现所有接口,MouseAdapter是类,只写你关心的方法,即MouseAdapter实现了MouseListene ...