python文件及目录操作
python文件及目录操作
读/写文件
新建/打开文件 写入
#举个例子,打开D:\test\data.txt
#以写入模式打开文件
#如果test(上级目录)不存在则报错
#如果data.txt(文件)不存在则创建
fd = open('filename','w')
#如果文件里面已经有内容,那么内容会被清空
fd.write('stirng')
fd.close()
打开文件 读入
#举个例子,打开D:\test\data.txt
#以读入模式打开文件
#如果test(上级目录)不存在则报错
#如果data.txt(文件)不存在则报错
fd = open('filename','r')
#read不传入参数,那么会读取整个文件
content = fd.read()
fd.close()
注意: open第一个参数如果是字符串常量(手工输入)的话,那么会在工作目录中查找,但是,如果传入的是一个字符串变量的话,该字符串需要是该文件的绝对路径
目录操作
新建目录
#例子,当前工作目录C:\test test目录下src以及其之下的子目录python都不存在
#dirname C:\test\src\python
makedirs(C:\test\src\python) #或者 makedirs(dirname)
#第一参数如果是字符串常量,那么会在工作目录中创建,但是如果是一个字符串变量,那么会生成该绝对路径(沿途不存在的路径也会创建)
#python会把以'\'分割的最后一串字符串(python)视为目录
#如果该目录已存在,那么会报错
#可提前判断一下是否存在该目录
os.path.exists('C:\test\src\python')
浏览目录
方式1
import os
#列出指定目录下的所有文件
#files 里面既包含文件名也包含目录名
files_and_dirs = os.listdir(dir)
#一般来说会用一个for循环来逐个判断
for name in files_and_dirs:
#所以需要判断是文件还是目录,以便执行不同的操作
#是否是目录
#如果要遍历该路径下所有文件/目录,可以使用递归
os.path.isdir(files_and_dirs)
是否是文件
os.path.isfile(files_and_dirs)
方式2
可以直接获得所有信息,不需要手动判断
for root, dirs, files in os.walk(file_dir):
print(root) #当前目录路径
print(dirs) #当前路径下所有子目录
print(files) #当前路径下所有非目录子文件
正则表达式
import re
这里,有关正则表达式的语法在此不多讲,主要讲如何在python中调用正则
明确使用正则的目的
查找字符串
#例子
source = """"""
#模式串
pat = r'!\[(.+)\]\((.+)\)'
#match只匹配source字符串开头,如果前面部分无法匹配,那么就直接返回了
#search会匹配完整个source
mat_res = re.search(pat,source)
if mat_res:
print mat_res.group()
print mat_res.group(1)
print mat_res.group(2) #这里的group需要在pat中使用`()`捕获,如果没有捕获到那么调用时会报错
注意:
- 如果有多个group匹配到,那么只会返回最后的一个
替换字符串
方式1:直接替换,new_str与上一次匹配的结果无关
new_source = source.replace(mat_res.group(1),new_str)
方式2:利用正则特性,匹配时替换,这使得在替换的过程中可以使用上一次匹配到的结果
>>> def dashrepl(matchobj):
... if matchobj.group(0) == '-': return ' '
... else: return '-'
#如果是'-'那么就变成空格,如果是两个'-'那么就变成一个'-'
>>> re.sub('-{1,2}', dashrepl, 'pro----gram-files')
'pro--gram files'
#当然,也支持直接替换
>>> re.sub(r'\sAND\s', ' & ', 'Baked Beans And Spam', flags=re.IGNORECASE)
'Baked Beans & Spam'
python文件及目录操作的更多相关文章
- python 文件和目录操作题库
1. 把一个目录下所有的文件删除,在所有的目录下新建一个a.txt的文件,并在文件下写入"python"关键字. 解题思路: 1.如果目录存在则切换进入目录 ...
- python 文件及目录操作
文件的基本操作 >>> import os #文件操作导入的模块 >>> import os.path >>> os.name #操作系统的类型, ...
- Python 文件和目录操作学习
文件与文件路径 文件有两个关键属性:文件名和路径. 路径指明了文件在计算机上的位置. 文件名中,最后一个句点之后的部分称为文件的"扩展名",它指出了文件的类型 目录也叫文件夹,文件 ...
- Python文件或目录操作的常用函数
◆ os.listdir(path) Return a list containing the names of the entries in the directory given by path. ...
- Python::OS 模块 -- 文件和目录操作
os模块的简介参看 Python::OS 模块 -- 简介 os模块的进程管理 Python::OS 模块 -- 进程管理 os模块的进程参数 Python::OS 模块 -- 进程参数 os模块中包 ...
- Python之文件与目录操作及压缩模块(os、shutil、zipfile、tarfile)
Python中可以用于对文件和目录进行操作的内置模块包括: 模块/函数名称 功能描述 open()函数 文件读取或写入 os.path模块 文件路径操作 os模块 文件和目录简单操作 zipfile模 ...
- 【转】Python之文件与目录操作(os、zipfile、tarfile、shutil)
[转]Python之文件与目录操作(os.zipfile.tarfile.shutil) Python中可以用于对文件和目录进行操作的内置模块包括: 模块/函数名称 功能描述 open()函数 文件读 ...
- Python之文件与目录操作(os、zipfile、tarfile、shutil)
Python中可以用于对文件和目录进行操作的内置模块包括: 模块/函数名称 功能描述 open()函数 文件读取或写入 os.path模块 文件路径操作 os模块 文件和目录简单操作 zipfile模 ...
- Python中的文件和目录操作实现
Python中的文件和目录操作实现 对于文件和目录的处理,虽然可以通过操作系统命令来完成,但是Python语言为了便于开发人员以编程的方式处理相关工作,提供了许多处理文件和目录的内置函数.重要的是,这 ...
随机推荐
- H3C 帧中继配置示例
- H3C CHAP验证
- jQuery签名插件jSignature
1.引入jSignature.min.js和jquery.min.js文件2.代码 <div id="signature"></div> 3.js 初始化 ...
- Redis 命令行工具能这样用你知道了吗?
我们天天都在使用 Redis 内置的命令行工具 redis-cli,久而久之以为它就是一个简单的交互式 Redis 数据结构手工操作程序,但是它背后强大的功能绝大多数同学可能闻所未闻.本节我们一起来挖 ...
- Spring Boot实战之单元测试
Spring Boot实战之单元测试 本文介绍使用Spring测试框架提供的MockMvc对象,对Restful API进行单元测试 Spring测试框架提供MockMvc对象,可以在不需要客户端-服 ...
- js 的this指向问题
this指向的,永远只可能是对象! this指向谁,永远不取决于this写在哪!而是取决于函数在哪调用. this指向的对象,我们称之为函数的上下文context,也叫函数的调用者. 1:通过函数名直 ...
- 2018 CCPC 吉林站 H Lovers
2018 CCPC 吉林站 H Lovers 传送门:https://www.spoj.com/problems/LIS2/en/ 题意: q次操作 1.将第l~r个数的左边和和右边都加上一个数d, ...
- Unable to preventDefault inside passive event listener due to target being treated as passive 怎么办?
本篇为转载,原文链接:https://blog.csdn.net/lijingshan34/article/details/88350456 翻译一下:chrome 监听touch类事件报错:无法被动 ...
- java agent技术原理及简单实现
注:本文定义-在函数执行前后增加对应的逻辑的操作统称为MOCK 1.引子 在某天与QA同学进行沟通时,发现QA同学有针对某个方法调用时,有让该方法停止一段时间的需求,我对这部分的功能实现非常好奇,因此 ...
- 利用docker容器运行.net core webapi
利用docker容器运行.net core webapi :first-child { margin-top: 0 !important; } > :last-child { margin-bo ...