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 ...
随机推荐
- spring中使用RabbitMQ
常见的消息中间件产品: (1)ActiveMQ ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS P ...
- LUOGU P1084 疫情控制(二分+贪心+树上倍增)
传送门 解题思路 比较神的一道题.首先发现是最小值问题,并且具有单调性,所以要考虑二分答案.其次有一个性质是军队越靠上越优,所以我们要将所有的军队尽量向上提,这一过程我们用倍增实现.发现这时有两种军队 ...
- mvc和mvvm区别
mvc和mvvm区别 MVC和MVVM的区别其实并不大.都是一种设计思想. 主要就是MVC中Controller演变成MVVM中的viewModel. MVVM主要解决了MVC中大量的DOM操作使页面 ...
- 尚学python课程---14、python中级语法
尚学python课程---14.python中级语法 一.总结 一句话总结: var[1:5] 访问模式:比如字符串,比如列表元祖,字典等 del 删除模式:比如列表.元祖.字典 1.Python的N ...
- 在类中,调用这个类时,用$this->video_model是不是比每次调用这个类时D('Video')效率更高呢
在类中,调用这个类时,用$this->video_model是不是比每次调用这个类时D('Video')效率更高呢
- System.Web.Mvc.ControllerBase.cs
ylbtech-System.Web.Mvc.ControllerBase.cs 1.程序集 System.Web.Mvc, Version=5.2.3.0, Culture=neutral, Pub ...
- http://www.narkii.com/club/forum-46-1.html 纳金学习论坛,主要是讨论一些unty3D方面的事情,技术栈比较前沿,
http://www.narkii.com/club/forum-46-1.html 纳金学习论坛,主要是讨论一些unty3D方面的事情,技术栈比较前沿,
- Git log和reflog
1.log log命令可以显示所有提交过的版本信息.显示信息如下: Administrator@USER-20171026MG MINGW64 ~/Desktop/lyf (master) $ gi ...
- Team Train Recorder 2.0
Bubble Cup 12 - Finals Online Mirror, unrated, Div. 1 2019/10/4, solved 4/9, upsolved
- java中的Math类
一般地,当需要使用数字的时候,我们通常使用内置数据类型,如:byte.int.long.double 等 在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型的情形.为了解决这个问题,Ja ...