Python-基本文件处理
文件的类型
什么是文件?
一堆.py/.txt 存储着文字信息文件,
文件的分类
二进制文件:由0、1组成,例如.png文件
文本文件:由单一特定编码组成的文件,如utf8,例如 .txt文件
文件的打开与关闭
文件处理的三个步骤
打开(找到路径打开)
打开模式 描述 r 只读不可写 w 只写不可读(会清空文件) a 追加不可读 r+ 可读可写 w+ 可读可写(会清空文件) a+ 可读可写 b 二进制模式,用于打开多媒体文件 t 文本模式(默认模式) 操作(读取和写入)
读取 描述 read 读取全部内容 readline 读取一行内容 readlines 读取文件所有行 写入 描述 write 写入字符串 writelines 将一个列表的元素写入文件 seek 改变当前文件操作指针的位置 关闭(保存并关闭)
.flush() 保存
.close() 关闭
使用方式
file_path = 'D:\上海python12期视频\python12期预科班视频\day 05\新时代中国特色社会主义.txt'
f = open(file_path,'r',encoding='gbk') # encoding告诉计算机用什么编码格式翻译硬盘中的0和1
print(f.read())
f.close()
with open(r'D:\上海python12期视频\python12期预科班视频\day 05\huijiadeyouhuo.txt','r+',encoding='utf8') as fr:
print(fr.read())
爬虫
requests库的使用
爬取网站的图片和视频 并保存到本地
# coding=utf-8
import requests
#爬取图片
w = requests.get(
url="http://www.xiaohuar.com/d/file/20190628/26700fc24ce19a534d1ad797937426ac.jpg"
)
#接收二进制图片
print(w.content)
with open("校花图片1.png","wb") as f:
f.write(w.content)
print("校花图片爬取成功!")
# 爬取视频
w = requests.get(
url="https://video.pearvideo.com/mp4/adshort/20190827/cont-1595380-14312754_adpkg-ad_hd.mp4"
)
with open("梨视频.mp4","wb") as f:
f.write(w.content)
print("视频爬取成功!")
爬取豆瓣电影的排行榜 并保存在本地
# coding=utf-8
import requests
import re
w = requests.get(
url="https://movie.douban.com/top250"
)
## 获取响应文本
print(w.text)
'''
1.电影名称
2.电影详情页链接
3.电影评分
4.电影评价人数
'''
#解析并提取数据
# 查找所有
# re.S: 全局查找
# re.findall('正则匹配规则', '解析文本', re.S)
move_list = re.findall('<div class="item">.*?<a href="(.*?)">.*?<span class="title">(.*?)</span>.*?<span class="rating_num" property="v:average">(.*?)</span>.*?<span>(.*?)人评价</span>',w.text,re.S)
print(move_list)
num = 1
with open("douban.txt","a",encoding="utf8") as f:
for line in move_list:
print("%s %s的网址为 %s,%s人评分为 %s" % (num, line[0], line[1], line[2], line[3]))
f.write("%s %s的网址为 %s,%s人评分为 %s" % (num, line[0], line[1], line[2], line[3]) + "\n")
f.flush()
num += 1
print("数据爬取成功,文件已保存。")
Python-基本文件处理的更多相关文章
- Python读写文件
Python读写文件1.open使用open打开文件后一定要记得调用文件对象的close()方法.比如可以用try/finally语句来确保最后能关闭文件. file_object = open('t ...
- python计算文件的md5值
前言 最近要开发一个基于python的合并文件夹/目录的程序,本来的想法是基于修改时间的比较,即判断文件有没有改变,比较两个文件的修改时间即可.这个想法在windows的pc端下测试没有问题. 但是当 ...
- python操作文件案例二则
前言 python 对于文件及文件夹的操作. 涉及到 遍历文件夹下所有文件 ,文件的读写和操作 等等. 代码一 作用:查找文件夹下(包括子文件夹)下所有文件的名字,找出 名字中含有中文或者空格的文件 ...
- Python :open文件操作,配合read()使用!
python:open/文件操作 open/文件操作f=open('/tmp/hello','w') #open(路径+文件名,读写模式) 如何打开文件 handle=open(file_name,a ...
- python学习 文件操作
一.python打开文件 #=====================python 文件打开方式 open()===================== # open(fileName,type) t ...
- Python之文件读写
本节内容: I/O操作概述 文件读写实现原理与操作步骤 文件打开模式 Python文件操作步骤示例 Python文件读取相关方法 文件读写与字符编码 一.I/O操作概述 I/O在计算机中是指Input ...
- python 遍历文件夹 文件
python 遍历文件夹 文件 import os import os.path rootdir = "d:\data" # 指明被遍历的文件夹 for parent,dirn ...
- python检测文件的MD5值
python检测文件的MD5值MD5(单向散列算法)的全称是Message-Digest Algorithm 5(信息-摘要算法),经MD2.MD3和MD4发展而来.MD5算法的使用不需要支付任何版权 ...
- Python编码/文件读取/多线程
Python编码/文件读取/多线程 个人笔记~~记录才有成长 编码/文件读取/多线程 编码 常用的一般是gbk.utf-8,而在python中字符串一般是用Unicode来操作,这样才能按照单个字 ...
- python 读写文件和设置文件的字符编码
一. python打开文件代码如下: f = open("d:\test.txt", "w") 说明:第一个参数是文件名称,包括路径:第二个参数是打开的模式mo ...
随机推荐
- 专访阿里云MVP黄胜蓝:90 后 CTO花了6年,改变了你日常生活里的这件事
[黄胜蓝:现任武汉极意网络科技有限公司CTO.高中时期NOIP一等奖保送至武汉大学,大学期间曾指导团队获得世界数学建模大赛金奖,同时负责武汉大学学生校园门户网站的运维工作.于2013年加入武汉极意网络 ...
- thinkphp 切换数据库
除了在预先定义数据库连接和实例化的时候指定数据库连接外,我们还可以在模型操作过程中动态的切换数据库,支持切换到相同和不同的数据库类型.用法很简单, 只需要调用Model类的db方法,用法: 常州大理石 ...
- identifier of an instance of xx.entity was altered from xxKey@249e3cb2 to xxKey@74e8f4a3; nested exception is org.hibernate.HibernateException: identifier of an instance of xxentity was altered from错误
用entityManager保存数据时报错如下 identifier of an instance of xx.entity was altered from xxKey@249e3cb2 to xx ...
- go操作空指针导致supervisor进程服务挂机的坑
一.起因 在数据库中直接手动插入了某条记录,但由于该记录的某个字段的空值,与另一个字段的状态码不符合,在go程序中,突然操作了该空字段的指针,导致程序panic挂机. panic: runtime e ...
- mac 10.9 install cocoapods issue
If you've installed the OS X Mavericks Beta and you're having ruby issues like this: /System/Library ...
- 应用程序正常初始化(0xc0150002)失败的终极解决方案
转自VC错误:http://www.vcerror.com/?p=62 最近做一个项目写了一个VC6下的MFC程序,结果传到别人的机子上(WIN7)出现了应用程序正常初始化(0xc0150002)失败 ...
- 固定定位fixed,绝对定位absolute,相对定位relative;以及overflow
固定定位position:fixed /*固定定位 1.定位属性值:fixed 2.在页面中不再占位(浮起来了) 3.一旦定位后,定位的布局方位 top.bottom.left.right都能参与布局 ...
- Java基础拾遗(二) — 关于equals(),hashcode()和 ==
这里分别讲==和equals()的关系,以及equals()和hashcode()的关系 讲解之前,需要先明白对象的内容.对象的引用,基本类型,引用类型这几个概念,此处不做解释 一.==和equals ...
- javaSpring学习总结day_02
使用注解注入: 1.用于创建bean对象 @Component: 作用:相当于配置了一个bean标签 位置:类上面 属性:value,含义是bean的id,当不写时,有默认值,默认值是当前类的短名,首 ...
- Linux-c对一个十六进制数的某一位取反
enum SWITCH_FLAG { SWITCH_ALL_FLAG = , SWITCH_WEB_FLAG = , …… } unsigned int switch_by_bit_value = 0 ...