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语言为了便于开发人员以编程的方式处理相关工作,提供了许多处理文件和目录的内置函数.重要的是,这 ...
随机推荐
- React事件用法
一.事件处理函数的使用 1.1 绑定事件处理函数 1.2 使用 <HelloWorld onClick={this.handleClick}/> 大括号中指定的是this对象即当前组件引用 ...
- js如何获取地址栏上的参数id
直接上js代码 方法1: 父页面跳转地址栏带id>>>>window.location.href='${ctxAdmin}/study/checkForm?id='+id+ ...
- hdu 1045 Fire Net(dfs)
Fire Net Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Su ...
- HDU 1251 裸的字典树、入门题
裸的字典树还是挺简单的. 四个基本操作建立.查找.插入.删除 建立新结点我是用的c++中 new操作.当然也可以用malloc,都方便 不过指针阿.地址阿.这其中关系什么的我貌似还不是很清楚阿. 因为 ...
- Python--day47--mysql慢日志记录
- H3C ACL包过滤配置任务
- codeforce 379(div.2)
A.B略 C题 ——贪心,二分查找: 对于每一个a[i], 在d中二分查找 s-b[i],注意不要忘记计算速度为x时需要花费的最小时间,以及整数范围为64位整数 1 #include <cstd ...
- 原生js实现响应式轮播图,支持电脑端点击切图,手机端滑动切图
轮播图的实现原理并不难,但是步骤有些繁琐.最近练习了一个轮播图,大部分是跟着网上的教程写的,然后自己做了一点兼容ie8的修改,加了点击切换图片的特效和手机端的滑动特效,让这个轮播图可以在响应式的网站中 ...
- vue-上传文件
<label for="exampleInputFile">头像</label> <img :src=" imgsrc != '' ? im ...
- WPF 使用 Composition API 做高性能渲染
在 WPF 中很多小伙伴都会遇到渲染性能的问题,虽然 WPF 的渲染可以甩浏览器渲染几条街,但是还是支持不了游戏级的渲染.在 WPF 使用的 DX 只是优化等级为 9 和 DX 9 差不多的性能,微软 ...