python 的IO文件操作总结,,在项目开发过程中,时常需
python 的IO文件操作总结,,在项目开发过程中,时常需
在项目开发过程中,时常需要对目录、文件进行相关的操作,比如读取文件的内容,遍历目录等等。在Python中也提供了强大的类库支持这些I/O操作。本文将记录Python中对文件、目录的一些常见操作手法。涉及文件、目录操作的模块 os、os.path、shutil
文件、目录的创建、删除
创建目录可以简单的使用下面的语句即可完成(支持2层目录的创建):
os.mkdir("test")os.mkdir("test/test")
相对于目录的创建而言,目录的删除就会有点小陷阱了,对于一个空目录的删除,可以简单的使用下面的语句完成:
os.rmdir("test")
但是,如果该目录不为空将会抛出“Directory not empty: 'test'”异常了。如果在其他语言中可能需要一层一层递归进行删除,但是在Python中,有个神器提供目录树的删除的功能,可以使用下面的神器解决:
shutil.rmtree("test")
相对于目录的操作,文件的读取(创建)与删除就简单多了,可以使用下面的语句完成:
os.open("test/test.py",1)os.remove("test/test.py")
但是,当文件不存在的时候,os.open将会抛出“ No such file or directory: 'test/test.py'”异常,那么我们可以使用python官方推荐的文件读取(创建)操作手法(如果文件存在就是追加模式操作,flag:"r","w","a"):
with open("test/test.py", "a") as file_obj: file_obj.write("#/usr/bin/env python")
以上这种的写法就无需执行关闭file_obj.close(),详细内幕请参考with的用法。
遍历目录获取文件
result = []for path,dirs,files in os.walk("test"): for file in files: result.append(path+"/"+file)
打印result,可以看到该目录下所有文件(包括子目录),如本人的信息如下:
['test/test.py', 'test/test1/tes1.py', 'test/test1/nohup.out']
我们也可以针对上面的例子,稍加修改,只需获取py文件,代码片段如下:
result = []for path,dirs,files in os.walk("test"): for file in files: if file.endswith(".py"): result.append(path+"/"+file)
打印result,可以看到该目录下所有文件(包括子目录),如本人的信息如下:
['test/test.py', 'test/test1/tes1.py']
总结
本文记录了在Python中常用的I/O操作,一些其它对文件或目录验证操作或详细信息的获取就没有详细举例说明,只能当作抛砖引玉了,希望对您有用。
文件出处: http://www.cleverdeng.com/article/Python%20_chang_jian_de_%20I/O%20_cao_zuo_chang_yong_shou_fa
相关内容
- Python如何查看变量占用空间大小,python变量占用空间
- error: 2006 MySQL server has gone away 解决方法,mysqlgone,今天在
- python使用正则表达式验证Email地址,pythonemail,下面的代
- 使用socket模块验证ip地址,socket模块验证ip,如下代码:
- python验证IP地址方法,python验证ip,可以使用socket模块
- python mutiprocessing 入门示例,,multiprocess
- Python 的多进程 fork,python进程fork,using_fork.p
- Python 多进程实现分析,python进程实现,Python Stand
- Python连接使用redis,python连接redis,需要下载 redis-p
- 使用python获得网站的alexa排名,pythonalexa,如下脚本,使
评论关闭