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 ...
随机推荐
- 学习Caffe(一)使用Caffe
如何使用Caffe Caffe教程(http://robots.princeton.edu/courses/COS598/2015sp/slides/Caffe/caffe_tutorial.pdf) ...
- python用类实现装饰器
一.代码 #利用__call__方法,装饰器的执行流程:当添加装饰器语法糖时,会把语法糖的变量名加()执行,并将被装饰的函数名传入.所以当类加()执行时,执行了__init__,产生的对象就是被装饰的 ...
- (2)python tkinter-按钮.标签.文本框、输入框
按钮 无功能按钮 Button的text属性显示按钮上的文本 tkinter.Button(form, text='hello button').pack() 无论怎么变幻窗体大小,永远都在窗体的最上 ...
- Berlekamp Massey算法求线性递推式
BM算法求求线性递推式 P5487 线性递推+BM算法 待AC. Poor God Water // 题目来源:ACM-ICPC 2018 焦作赛区网络预赛 题意 God Wate ...
- python 中的 用chr()数值转化为字符串,字符转化为数值ord(s)函数
1.1 python字符串定义 #!/usr/bin/python # -*- coding: utf8 -*- # 定义一个字符串 s1 = 'this is long String that sp ...
- 5.1_Spring Boot2.x安装Docker
1.简介 Docker是一个开源的应用容器引擎:是一个轻量级容器技术: Docker 是一个开源的应用容器引擎,基于Go 语言并遵从Apache2.0协议开源.Docker 可以让开发者打包他们的应用 ...
- [AHOI2014/JSOI2014]骑士游戏
题目 思博贪心题写了一个半小时没救了,我也没看出这是一个\(spfa\)来啊 设\(dp_i\)表示彻底干掉第\(i\)只怪物的最小花费,一个非常显然的事情,就是对于\(k_i\)值最小的怪物满足\( ...
- 面试系列12 redis和memcached有什么区别
(1)redis和memcached有啥区别 这个事儿吧,你可以比较出N多个区别来,但是我还是采取redis作者给出的几个比较吧 1)Redis支持服务器端的数据操作:Redis相比Memcached ...
- JS规则 多样化的我(变量赋值)我们使用"="号给变量存储内容,你可以把任何东西存储在变量里,如数值、字符串、布尔值等,
多样化的我(变量赋值) 我们可以把变量看做一个盒子,盒子用来存放物品,那如何在变量中存储内容呢? 我们使用"="号给变量存储内容,看下面的语句: var mynum = 5 ; / ...
- Axios的get和post请求写法
执行get请求 // 为给定 ID 的 user 创建请求 axios.get('/user?ID=12345') .then(function (response) { console.log(re ...