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语言为了便于开发人员以编程的方式处理相关工作,提供了许多处理文件和目录的内置函数.重要的是,这 ...
随机推荐
- 2019-8-31-PowerShell-通过-WMI-获取系统服务
title author date CreateTime categories PowerShell 通过 WMI 获取系统服务 lindexi 2019-08-31 16:55:58 +0800 2 ...
- js后端返回一个时间戳,用原生怎么对时间进行格式化?
function fn(time) { var date = new Date(time); var len = time.toString().length; // 时间戳不足13位则在后面加零 i ...
- Python--day67--CBV和FBV、Request对象及上传文件示例
1,CBV版添加新的出版社 views.py文件 urls.py文件 2,Request对象: request对象 当一个页面被请求时,Django就会创建一个包含本次请求原信息的HttpReques ...
- [转载] 虚拟机3种网络模式(NAT, Host-only, Bridged)
实例讲解虚拟机3种网络模式(桥接.nat.Host-only) 转载自:http://www.cnblogs.com/ggjucheng/archive/2012/08/19/2646007.html ...
- UVA 11992 ——线段树(区间修改)
解题思路: 将矩阵每一行建立一棵线段树,进而变成一维问题求解.注意数组要开 4*N 代码如下: #include <iostream> #include <cstdio> #i ...
- vue-cli起项目步骤
1.全局安装 vue-cli 老版本:npm install -g vue-cli (npm uninstall vue-cli -g 卸载) 新版本:npm install -g @vue/cli ...
- H3C 指定下次启动加载的应用程序文件
- linux alloc_pages 接口
为完整起见, 我们介绍另一个内存分配的接口, 尽管我们不会准备使用它直到 15 章. 现 在, 能够说 struct page 是一个描述一个内存页的内部内核结构. 如同我们将见到的, 在内核中有许多 ...
- centos 利用mailx发送邮件
这里就已163或者126邮箱为例!阿里云的25号端口好像发送不了,用465端口可以发送成功! 安装:yum install -y mailx 然后就是修改配置文件 set ssl-verify=ign ...
- CString 的成员函数详解
CSTRING的成员函数详解 typedef ATL::CStringT< TCHAR, StrTraitMFC_DLL< TCHAR > > CString;CStrin ...