你要偷偷的学Python,然后惊呆所有人(第三天)

我要偷偷的学Python,然后惊呆所有人(第三天) 标题无意冒犯,就是觉得这个广告挺好玩的 上面这张思维导图喜欢就拿走,反正我也学不了这么多 好,切入正题 文章目录前言“你的如意金箍棒”已到货,请签收文件读写计算机编码表读取文件第一步:打开文件绝对路径 and 相对路径 注意点第二步:读取文件第三步:关闭文件写入文件小练习 前言 本系列文默认各位有一定的C或C++基础,因为我是学了点C++的皮毛之后入手的Python,这里也要感谢齐锋学长送来的支持。也要感谢大家的支持,前两篇访问、收藏、点赞、评论量都“居高临下”,感谢感谢,还有的朋友迫不及待等第三篇.. 阅读详情

文章目录

  • 前言
  • “你的如意金箍棒”已到货,请签收
  • 文件读写
  • 计算机编码表
  • 读取文件
  • 第一步:打开文件
  • 绝对路径 and 相对路径 注意点
  • 第二步:读取文件
  • 第三步:关闭文件
  • 写入文件
  • 小练习
  • 我的代码

前言

本系列文默认各位有一定的C或C++基础,因为我是学了点C++的皮毛之后入手的Python。也要感谢大家的支持,前两篇访问、收藏、点赞、评论量都“居高临下”,感谢感谢,还有的朋友迫不及待等第三篇,真的很感动,虽然我写得慢,但是晚上少打两把游戏也是可以提高更新速度的啦。

本系列文默认各位会百度,本系列也会着重培养各位的自主动手能力,毕竟我不可能把所有知识点都给你讲到,所以自己解决需求的能力就尤为重要,所以我在文中埋得坑请不要把它们看成坑,那是我留给你们的锻炼机会,请各显神通,自行解决。
123

img

欢迎来到Python的圈子

在学习python中有任何困难不懂的可以微信扫描下方优快云官方认证二维码加入python交流学习,多多交流问题,互帮互助,这里有不错的学习教程和开发工具。
在这里插入图片描述

“你的如意金箍棒”已到货,请签收

今天我们要讲一下Python里面比较重要的一环,也就是Python能够异军突起的非常重要的一个原因。 大家有没有想过,在这个编程语言满天飞的时代,有老牌玩家C/C++,前端PHP,H5,新秀Java,数学界有MATLAB和R,为什么Python能够脱颖而出呢?

对,因为Python是个万金油般的存在!它可以去调用各种各样的包来为它工作,包里面有各种的函数,比方说我现在要用Python来处理一大堆的Excel表格,那我是不是要自己写表格处理函数呢?并不是的,自己写太麻烦,为什么不站在巨人的肩膀上呢?有个包叫‘csv’的,专门用来干这个事情,那我把它喊过来不就好了嘛。

对,就是模块调用,学完之后,就可以用Python去批量处理表格啊、去做简单的人脸识别啊、去做些小项目。 怎么样,是不是特别激动!!!

好,别急,慢慢来。这里呢,需要大家有一款称手的编译器了,可以是VS(支持py编程的),也可以是pycharm,或者其他的。 我用的是pycharm,VS开起来太大了。 下载pycharm之前,要先下载一个Python,现在是北京时间:2020-10-23,最新版是3.9.0。 这俩东西在各自官网上都有推荐最新版,安装也很方便,基本就是一路next,不过建议不要安装在C盘。

大家动起来!!!

img

文件读写

函数和类讲完,自然也就是文件读写流了。 在学完数据库的一段时间里,我一度认为文件读写没啥用了,这年头谁还用文件呐,后来发现我错了。

计算机编码表

我们先来看一张计算机编码表:

编码表适用性特点ASCII码英文大小写字符,不支持中文美国人的发明,占用空间小GB2312码、GBK码支持了中文GBK码是GB2312的升级Unicode码支持国际语言占用空间大,适用性强。UTF- 8码支持国际语言转化,占用空间小。ASCII码被UTF- -8码包含

文件读写,是Python代码调用电脑文件的主要功能,能被用于读取和写入文本记录、音频片段、Excel文档、保存邮件以及任何保存在电脑上的东西。

我用C++做过文件读写,再Linux上,在Windows上,也用QT写过有界面的文件读写,现在来试试Python的。

读取文件

具体流程如下:

img
(以后就换图片风格啦,我用图片也是为了大家看的更直观嘛)

第一步:打开文件

首先在创建一个测试文件,比如说放在桌面上的test.txt文件,里面随便写上点啥,打开你的编译器,新建一个project,开始编程。

file1 = open(r'D:\Users\asus\Desktop\test.txt','r',encoding='utf-8')
1

file1这个变量是存放读取的文件数据的,以便对文件进行下一步的操作。

(可以看出来有三个参数吧)

open(path,mode,encoding)
1

参数释义: 第一个参数是文件的保存地址,一定要写清楚,否则计算机找不到

这里有两种方法,一种是写文件的绝对路径,一种是文件的相对路径。我上面那种写法就是绝对路径,如果要用相对路径的话嘛,也可以把文件拖动到你的项目文件下,然后:看图吧

img

对吧,这几种方式都是可以的,不过如果新手的话建议使用绝对路径,绝对路径用熟了再说。 怎么看绝对路径?右击文件->属性

绝对路径 and 相对路径 注意点

  1. 绝对路径就是最完整的路径,相对路径指的就是【相对于当前文件夹】的路径,也就是你编写的这个py文件所放的文件夹路径!
  2. Windows系统里,常用\来表示绝对路径,/来表示相对路径
  3. 别忘了\在Python中是转义字符,所以时常会有冲突。为了避坑,Windows的绝对路径通常要稍作处理,写成以下两种格式
open('D:\\Users\\asus\\Desktop\\test.txt')
#将'\'替换成'\\'

open(r'D:\Users\asus\Desktop\test.txt')
#在路径前加上字母r
12345

第二个参数是权限位,主要有这么一些:

r(read,读)r只读,指针在开头,文件不存在则报错rb二进制只读,其余同左r+读写,其余同左rb+二进制读写,其余同左w(write,写)w只写,文件不存在则新建,存在则覆盖wb二进制只写,其余同左w+读写,其余同左wb+二进制读写,其余同左a(append,追加)a追加,文件存在指针放在末尾,文件不存在则新建ab二进制追加,其余同左a+追加且可读,其余同左ab+二进制追加且可读,其余同左

第三个参数encoding=‘utf-8’,表示的是返回的数据采用何种编码,一般采用utf-8或者gbk。

第二步:读取文件

打开文件之后,就可以用read()函数进行读取的操作了,这个上边其实已经有体现了,read()函数啊。 但是,其实并没有这么简单,如果我想一行一行读呢?如果我想一个单词一个单词读呢?怎么办?

img

这里,我们需要使用一个新函数readlines(),顾名思义,一行一行读。

认真看啊:

img

信息量不大啊,看完我们来进行下一步切割。

这里虽然把每行都分开了,但是我们是要把每个数字都分开是吧,显然现在我们还不能满意。 那就用字符串切割函数吧:split()

img
split()是把字符串分割的,而还有一个join()函数,是把字符串合并的。

a=['c','a','t']
b=''
print(b.join(a))
c='-'
print(c.join(a))
12345

运行结果:

cat
c-a-t
12

第三步:关闭文件

关闭文件,使用的是close()函数。

file1.close()   
1

为啥要关闭文件呢?原因有两个:1.计算机能够打开的文件数量是有限制的,open()过多而不close()的话,就不能再打开文件了。2.能保证写入的内容已经在文件里被保存好了。

文件关闭之后就不能再对这个文件进行读写了。如果还需要读写这个文件的话,就要再次 open() 打开这个文件。

这里再顺便补充一个用法,为了避免打开文件后忘记关闭,占用资源或当不能确定关闭文件的恰当时机的时候,我们可以用到关键字with,之前的例子可以写成这样:

# 使用with关键字的写法
with open('test.txt','r') as file1:
#with open('文件地址','读写模式') as 变量名:
    #格式:冒号不能丢
    file1.read() 
    #格式:对文件的操作要缩进
    #格式:无需用close()关闭
1234567

写入文件

打开文件嘛,我就不多说啦,把‘r’改成‘w’,具体看上面那个表格。

img

你去写,写完之后你就会惊喜的发现,原文件内容被洗掉重写了。。 如果不想出现这种情况的话,可以将‘w’改成‘a’

那么 b 有什么用呢,那个二进制的。 因为有很多文件在计算机中的存储,它是采用二进制的,并不是肉眼能看得懂的文字信息。 比方说音频,比方说图片等等。这时候就需要使用 ‘b’ 权限的加持了。

小练习

学了这个文件读写处理啊,我们来玩点小游戏吧。 这里有一组数据:

第一列,42,25,65,14,78
第二列,55,75,23,74,24
第三列,58,45,31,15,65
第四列,16,86,43,21,75
1234

然后把每列数据求和,写在文件下边:

第一列,XX
第二列,XX
···
123

放一张图隔开,再放上我的实现

img

我的代码

file= open(r'D:\Users\asus\Desktop\test.txt','r',encoding='GB2312')
#with open(r'D:\Users\asus\Desktop\test.txt','r',encoding='GBK') as file1:
file_lines = file.readlines()
file.close()

final_scores = []

for i in file_lines:
    data = i.strip().split(',')
    sum = 0
    for score in data[1:]:
        sum = sum + int(score)
    result = data[0]+str(sum)+'\n'
    print(i)
    final_scores.append(result)

#这里表示文件已经被关闭了
writer = open(r'D:\Users\asus\Desktop\test.txt','a',encoding='GBK')
writer.write('\n')
writer.writelines(final_scores)
writer.close()
123456789101112131415161718192021

这里要注意一点就是你的文本文件不能有’空行’,这个空行往往肉眼看不见。

小姐姐带你们偷偷的学Python,然后你们要惊呆所有人(第三天)面向对象 阅读详情

相关推荐

我要偷偷的学Python,然后惊呆所有人(第四天)

标题无意冒犯,就是觉得这个广告挺好玩的 上面这张思维导图喜欢就拿走,反正我也学不了这么多 文章目录前言什么是模块?跟我一起动手导入自己的模块第一步:新建一个模块第二步:调用模块调用模块不同方法。`if __name__ == '__main__'`csv模块操作Excel图表我要用什么模块?这个模块里有哪些东西?使用csv模块读写 前言 前期回顾:我要偷偷学Python,然后惊呆所有人(第三天) 上面这篇里面写了python的一些知识基础,主要是Python对于文件的读写操作,可能是字数比较少吧,每次..

看,未来的博客 3万+

python 去表格空行_你要偷偷的学Python,然后惊呆所有人(第三天)

标题无意冒犯,就是觉得这个广告挺好玩的上面这张思维导图,喜欢的朋友可以带走好,切入正题文章目录前言“你的如意金箍棒”已到货,请签收文件读写计算机编码表读取文件第一步:打开文件 绝对路径 and 相对路径 注意点第二步:读取文件第三步:关闭文件写入文件小练习我的代码前言本系列文默认各位有一定的C或C++基础,因为我是学了点C++的皮毛之后入手的Python。也要感谢大家的支持,前两篇访问、收藏、点赞...

weixin_39945792的博客 110

我要偷偷的学Python,然后惊呆所有人(第二天)

标题无意冒犯,就是觉得这个广告挺好玩的 上面这张思维导图喜欢就拿走,反正我也学不了这么多 文章目录前言编程学习的瓶颈函数其实没那么可怕初始函数定义一个函数函数规则示例2:示例3:示例4:示例5:全局变量和局部变量 前言 前期回顾:我要偷偷学Python,然后惊呆所有人(第一天) 上面这篇里面写了python的一些知识基础,从数据类型到四则运算,再到分支、循环。 那么今天,我们就看一下比较抽象的函数和类,如果对基础还不是很熟练的话可以再扎实一下基础,毕竟万丈高楼平地起嘛,基础不老实是很危险的。 本系列文..

看,未来的博客 3万+

【我要偷偷学Python,然后惊呆所有人】专栏导航

文章目录全文导读我要偷偷的学Python,然后惊呆所有人Python爬虫自学系列Python数据分析打开我的Python收藏夹系列Python其他部分 全文导读 “我要偷偷学Python,然后惊呆所有人”系列完更已经有一段时间了,但是我一直觉得缺少一点啥。 直到看了橡皮檫大佬的爬虫百例教程,我知道,我的这个专栏却一份目录、 本专栏尽可能包含从Python小白入门,到爬虫数据采集、数据清洗、数据存储、数据分析、数据可视化等一系列内容, 帮助各位初学Python初学的小伙伴不至于从入门到出门。 此外,我们还有.

看,未来的博客 3052

我要偷偷的学Python,然后惊呆所有人(第六天)

标题无意冒犯,就是觉得这个广告挺好玩的 上面这张思维导图喜欢就拿走,反正我也学不了这么多 前言 前期回顾:我要偷偷学Python,然后惊呆所有人(第五天) 本系列文默认各位有一定的C或C++基础,因为我是学了点C++的皮毛之后入手的Python,这里也要感谢齐锋学长送来的支持。 本系列文默认各位会百度,学习‘模块’这个模块的话,还是建议大家有自己的编辑器和编译器的,上一篇已经给大家做了推荐啦? 我要的不多,点个关注就好啦 然后呢,本系列的目录嘛,说实话我个人比较倾向于那两本 Primer Plus,..

看,未来的博客 6728

我要偷偷的学Python,然后惊呆所有人(第一天)

标题无意冒犯,就是觉得这个广告挺好玩的 上面这张思维导图喜欢就拿走,反正我也学不了这么多 好,切入正题 文章目录前言Python语言概览Python语言的起源 前言 本系列文默认各位有一定的C或C++基础,因为我是学了点C++的皮毛之后入手的Python,这里也要感谢齐锋学长送来的支持。 本系列文默认各位会百度,会用在线编译器,因为我是突击学Python的,之前的编译环境都删了,但是吧,我发现在线编译是真的爽,浪费那时间去搭那环境干啥,学好了Python,会差那点请人搭环境的钱吗? 我要的不多,点个..

看,未来的博客 4万+

我要偷偷的学Python,然后惊呆所有人(第十二天)

标题无意冒犯,就是觉得这个广告挺好玩的 上面这张思维导图喜欢就拿走,反正我也学不了这么多 文章目录前言欢迎来到我们的圈子并发与串行 前言 前期回顾:我要偷偷学Python(第十二天) 第十二篇的项目还在持续更新中,哎,日理万机虽然谈不上,但是也是手忙脚乱。这不,自动表单生成是写完了,但是学校网络实在是受不了啊,2G,测试不了,就只能一直搁置在那边了。 明天就可以去测试了,明天出学校去逛逛。 今天的内容,可能很多小伙伴会没有听过,今天要讲多线程的概念,以及协程的使用。后面看看能不能讲一下scrapy框架..

看,未来的博客 2万+

我要偷偷的学Python,然后惊呆所有人(第五天)

标题无意冒犯,就是觉得这个广告挺好玩的 上面这张思维导图喜欢就拿走,反正我也学不了这么多 前言 前期回顾:我要偷偷学Python,然后惊呆所有人(第四天) 在第四天的时候,我们接触了Python的模块调用,这也是Python能够火起来的一大优势。我们还实践了csv模块。 不过冷静下来想想,这样的速度会不会有点过于快了,昨天我和几个学长兼好友彻夜长谈,觉得这样速成的话势必会遗漏掉不少的知识点,而且也有不少小伙伴来问我Python相关的问题,于是我们就打算建一个Python的学习答疑群,大家有问题的话都可..

看,未来的博客 8390

我要偷偷的学Python,然后惊呆所有人(第十四天)

标题无意冒犯,就是觉得这个广告挺好玩的 上面这张思维导图喜欢就拿走,反正我也学不了这么多 文章目录前言欢迎来到我们的圈子XpathXpath基本语法截取路径表达式路径表达式栗子选取节点后面的下标选取未知节点,通配符实例选取若干路径学习案例:抓取百度贴吧->王者荣耀吧的评论 前言 前期回顾:我要偷偷学Python(第十四天) 第十四天告诉大家我们将进入一个漫长的练习阶段,不过不用慌,今天我们来看别人口中“永远滴神” – Xpath 我也不知道为什么被称作永远滴神,但是我知道肯定不是因为它难。 插..

看,未来的博客 9005

我要偷偷的学Python,然后惊呆所有人(第八天)

标题无意冒犯,就是觉得这个广告挺好玩的 上面这张思维导图喜欢就拿走,反正我也学不了这么多 文章目录前言欢迎来到我们的圈子HTML基础HTML是什么?查看网页的HTML代码我们看了个啥玩意儿啊?标签和元素HTML基本结构HTML属性爬取网页文本网页数据解析 前言 前期回顾:我要偷偷学Python(第七天) 上一篇呢,我们初见爬虫,其实近距离接触之后,发现也不是学不会的嘛,虽然我们只是爬取了小图片,爬网页还比较吃力,一下用例过猛把人家的源代码都给爬过来了。 那怎么办呢?我们看别人的爬虫效果,好像没有那么凌..

看,未来的博客 6716

我要偷偷的学Python,然后惊呆所有人(第七天)

标题无意冒犯,就是觉得这个广告挺好玩的 上面这张思维导图喜欢就拿走,反正我也学不了这么多 文章目录前言 前言 前期回顾:我要偷偷的学Python,然后惊呆所有人(第六天) 前一天说了,我们今天要进入到爬虫的学习,对,今天我们开始爬 本系列文默认各位有一定的C或C++基础,因为我是学了点C++的皮毛之后入手的Python,这里也要感谢齐锋学长送来的支持。 本系列文默认各位会百度,学习‘模块’这个模块的话,还是建议大家有自己的编辑器和编译器的,上一篇已经给大家做了推荐啦? 我要的不多,点个关注就好啦 然..

看,未来的博客 7610

我要偷偷的学Python,然后惊呆所有人(第十一天)

标题无意冒犯,就是觉得这个广告挺好玩的 上面这张思维导图喜欢就拿走,反正我也学不了这么多 文章目录前言欢迎来到我们的圈子绕过登录验证的小饼干:cookies and session声明什么是cookies?什么是session?是如何实现“记住我的登录状态”的功能post请求实操第一步 前言 前期回顾:我要偷偷学Python(第十天) 上一篇呢,上一篇不是很好,我自己有数,身体抱恙。所以,这一篇我准备了不少有意思的东西(坏笑),嘿嘿,快来跟我动手操作。 我行,你也行!!! 插播一条推送:(如果是小白..

看,未来的博客 6674

我要偷偷的学Python,然后惊呆所有人(第十三天)

标题无意冒犯,就是觉得这个广告挺好玩的 上面这张思维导图喜欢就拿走,反正我也学不了这么多 文章目录前言欢迎来到我们的圈子摊牌啦,《偷偷学Python》系列即将进入一段漫长的XXX《Python百战穿山甲》(一):翻译软件设计图 前言 前期回顾:我要偷偷学Python(第十三天) 又一篇爆款啊。 插播一条推送:(如果是小白的话,可以看一下下面这一段) 欢迎来到我们的圈子 我建了一个Python学习答疑群,有兴趣的朋友可以了解一下:这是个什么群 群里已经有一千多个小伙伴了哦!!! 直通群的传送门:传送门 ..

看,未来的博客 8410

室友偷偷学python,然后惊呆所有人

室友偷偷学python,然后惊呆所有人 是的,没技术只能说一声牛逼!

guoxuying的博客 231

我要偷偷的学Python,然后惊呆所有人(第九天)

标题无意冒犯,就是觉得这个广告挺好玩的 上面这张思维导图喜欢就拿走,反正我也学不了这么多 文章目录前言欢迎来到我们的圈子 前言 前期回顾:我要偷偷学Python(第八天) 上一篇呢,上一篇我们了解了一下网页的基本结构,并且通过对网页的分析抓取了一点数据出来。 但是我们就这么满足了吗?这显然是不可能的,你见过哪个爬虫就爬几个字嘛。 所以今天,我们来一次性爬上一大波数据!!! 我行,你也行!!! 插播一条推送:(如果是小白的话,可以看一下下面这一段) 欢迎来到我们的圈子 我建了一个Python学习答疑群..

看,未来的博客 1万+

我要偷偷的学Python,然后惊呆所有人(第十天)

文章目录前言欢迎来到我们的圈子小爬虫踢到钢板了任务需求需求分析1.2.3.方案一:方案二:数据类型正则表达式什么是正则表达式?基础语法普通字符演示 前言 前期回顾:我要偷偷学Python(第九天) 依旧是这段啊 本系列文默认各位有一定的C或C++基础,因为我是学了点C++的皮毛之后入手的Python,这里也要感谢齐锋学长送来的支持。 本系列文默认各位会百度,学习‘模块’这个模块的话,还是建议大家有自己的编辑器和编译器的,上一篇已经给大家做了推荐啦? 我要的不多,点个关注就好啦 然后呢,本系列的目录嘛,说实

看,未来的博客 1万+

python求e^x_你要偷偷的学Python,然后惊呆所有人

文章目录前言欢迎来到我们的圈子爬虫百战穿山甲(二):Xpath爬取2021年腾讯校招网需求分析目标网站页面分析Xpath分析放码过来前言前期回顾:你要偷偷学Python(第十四天)第十四天讲了Xpath,是真的好用啊。于是我就去亲自练习了一下,抓取“2021腾讯校招网”数据,并进行整理。这篇属于一套新系列,挂在“偷偷学Python”系列下,写完之后会整理出来。名字想好了,就叫“爬虫百战穿山甲”。插...

weixin_39614546的博客 680

我要偷偷的学Python,然后惊呆所有人(最后一天)

文章目录前言函数的不定长参数lambda函数创建包生成器什么是生成器为什么要有生成器如何创造一个生成器把一个列表推导式的[]改成()yield关键字生成器的工作原理代码示例装饰器嵌套函数 前言 时隔20天,也该给这个系列画上一个句号啦。 后期我会对这个系列进行一个整合,预计会整理为13篇,不用担心,是原地整理,一般不会删博客。 这一篇不是爬虫相关,是我重新梳理了Python中的相关知识之后,发现了一些和C++异同之处,觉得应该再整理一份。 函数的不定长参数 有的时候,你会需要一个函数去处理比它预设时更多.

看,未来的博客 1万+
上一篇: 选择「程序员」职业的8个理由
下一篇: 你要偷偷的学Python,然后惊呆所有人(第四天)
智泊AI官方
博客等级 码龄6年 8637粉丝 2667原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值