[爬虫]2.3.1 使用Python操作文件系统
Python提供了许多内置库来处理文件系统,如os、shutil和pathlib等,这些库可以帮助你创建、删除、读取、写入文件和目录。
读取文件
在Python中,你可以使用内置的open函数来打开一个文件。open函数返回一个文件对象,你可以对这个对象进行各种操作。
以下是一个读取文件的例子:
with open('example.txt', 'r') as f:
content = f.read()
print(content)
open函数的第一个参数是文件的路径,第二个参数是模式。在这个例子中,模式是'r',表示读取。
使用with语句可以自动关闭文件,这是一个好习惯。
read方法可以读取文件的全部内容。如果文件很大,你可能想要使用readline或readlines方法来分行读取。
写入文件
你也可以使用open函数来写入文件。只需将模式改为'w'或'a'即可。'w'表示写入,如果文件已存在,它将被覆盖。'a'表示追加,如果文件已存在,新的内容将被添加到文件的末尾。
以下是一个写入文件的例子:
with open('example.txt', 'w') as f:
f.write('Hello, Python!')
write方法可以将一个字符串写入文件。
操作目录
你可以使用os库来操作目录。
例如,你可以创建一个新的目录:
import os
os.mkdir('example')
你也可以删除一个目录:
os.rmdir('example')
你可以获取当前的工作目录:
cwd = os.getcwd()
print(cwd)
你也可以改变工作目录:
os.chdir('/path/to/directory')
文件路径
在处理文件路径时,你可能会遇到许多问题,如路径分隔符在不同操作系统下的差异。为了解决这些问题,你可以使用os.path或pathlib库。
以下是一些常用的路径操作:
import os
# 连接路径
path = os.path.join('directory', 'file.txt')
# 分割路径
directory, file = os.path.split(path)
# 获取文件的扩展名
extension = os.path.splitext(file)[1]
# 检查文件或目录是否存在
exists = os.path.exists(path)
这就是Python处理文件系统的基本知识。现在,你可以尝试使用这些知识来存储你爬取的数据了。
推荐阅读:
https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA
https://mp.weixin.qq.com/s/an83QZOWXHqll3SGPYTL5g

[爬虫]2.3.1 使用Python操作文件系统的更多相关文章
- 第三百五十节,Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求
第三百五十节,Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求 selenium模块 selenium模块为 ...
- 爬虫(九):python操作MySQL、MongoDB
1. python操作MySQL 1.1 MySQL基础 在java基础部分就写过了. https://www.cnblogs.com/liuhui0308/p/11891844.html 1.2 p ...
- Python 操作 MySQL 的5种方式(转)
Python 操作 MySQL 的5种方式 不管你是做数据分析,还是网络爬虫,Web 开发.亦或是机器学习,你都离不开要和数据库打交道,而 MySQL 又是最流行的一种数据库,这篇文章介绍 Pytho ...
- Redis常用操作大全和Python操作Redis
简单使用 utils.py import redis POOL=redis.ConnectionPool(host='127.0.0.1',port=6379) view.py 第一种方式 (通用方式 ...
- Python学习笔记 - day11 - Python操作数据库
MySQL的事务 MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关,MySQL的两种引擎如下: 1.MyISAM:不支持事务,用于只读程序提高性能 2.InnoDB:支持ACID ...
- redis缓存数据库及Python操作redis
缓存数据库介绍 NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库,随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站, 特 ...
- redis集群配置及python操作
之前我们分析过喜马拉雅的爬取信息,使用分布式爬取,而且需要修改scrapy-redis的过滤算法为布隆过滤来减少redis内存占用,最后考虑这样还是不一定够,那么redis集群就是更好的一种选择方式了 ...
- Python 操作 MySQL 的5种方式
不管你是做数据分析,还是网络爬虫,Web 开发.亦或是机器学习,你都离不开要和数据库打交道,而 MySQL 又是最流行的一种数据库,这篇文章介绍 Python 操作 MySQL 的5种方式,你可以在实 ...
- python操作MySQL,SQL注入的问题,SQL语句补充,视图触发器存储过程,事务,流程控制,函数
python操作MySQL 使用过程: 引用API模块 获取与数据库的连接 执行sql语句与存储过程 关闭数据库连接 由于能操作MySQL的模块是第三方模块,我们需要pip安装. pip3 insta ...
- Python(九) Python 操作 MySQL 之 pysql 与 SQLAchemy
本文针对 Python 操作 MySQL 主要使用的两种方式讲解: 原生模块 pymsql ORM框架 SQLAchemy 本章内容: pymsql 执行 sql 增\删\改\查 语句 pymsql ...
随机推荐
- [C++提高编程] 3.3 deque容器
文章目录 3.3 deque容器 3.3.1 deque容器基本概念 3.3.2 deque构造函数 3.3.3 deque赋值操作 3.3.4 deque大小操作 3.3.5 deque 插入和删除 ...
- SqlParameter的作用与用法
有时候为图方便,会直接用sqlhelper文件进行相关操作,会出现如下的类: public static object ExecuteScalar(string sqlStr, params SqlP ...
- 2021-10-15:单词拆分。给定一个非空字符串 s 和一个包含非空单词的列表 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你
2021-10-15:单词拆分.给定一个非空字符串 s 和一个包含非空单词的列表 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词.说明:拆分时可以重复使用字典中的单词.你 ...
- 基于DevExpress的GridControl实现的一些界面处理功能
DevExpress的GridControl控件能够提供很多强大的操作,其视图GridView能够通过各种设置,呈现出多种复杂的界面效果,本篇随笔探讨一些常见的GridControl控件及其GridV ...
- simplejwt配置大全
# simplejwt配置大全SIMPLE_JWT = { 'ACCESS_TOKEN_LIFETIME': timedelta(minutes=5), # 设置token有效时间 'REFRESH_ ...
- KO之间互相调用
需求 假设有两个KO,命名为moduleA.KO,moduleB.KO,现在要实现在moduleB.KO中调用moduleA.KO中的函数. 实现 ModuleA实现 源码: #include < ...
- macOS下由yarn与npm差异引发的Electron镜像地址读取问题
记录macOS下由yarn与npm差异引发的Electron镜像地址读取问题 写在前面:该问题仅仅出现在Linux和macOS上,Windows上不存在该问题! 初始背景 最近笔者重新拾起了Elect ...
- npm run serve/build 背后的真实操作
vue CLI 用起来的确很舒服,方便省事,但他经过层层封装很难明白,执行完那个npm run serve/build 后他都干了些什么,甚至不知道整个项目是怎么跑起来的,今天自己抽时间就去瞅瞅,为加 ...
- Iframe在Vue中的状态保持技术
引言 Iframe是一个历史悠久的HTML元素,根据MDN WEB DOCS官方介绍,Iframe定义为HTML内联框架元素,表示嵌套的Browsing Context,它能够将另一个HTML页面嵌入 ...
- Win10环境配置(一)——C\C++篇
Win10环境配置(一)--C\C++篇 1.工具准备 官网下载地址:https://sourceforge.net/projects/mingw-w64/ MinGW64下载地址:https://s ...