这可能是最详细的Python文件操作
删除
# ==================删除==================
# 只能删除文件,若为目录则报错
# 若文件正在使用,Windows下会直接报错,Linux下会在目录表中删除记录,但文件还在
# 与os.unlink()一样的作用
os.remove(r"C:\Users\Microsoft\Desktop\111.exe")
# 删除目录,目录必须为空,否则报错OSError
os.rmdir(r"C:\Users\Microsoft\Desktop\aaa")
# 递归删除空目录
os.removedirs(r"C:\Users\Microsoft\Desktop\1\2\3")
# 删除整个目录(不管此目录下有多少目录和文件)
shutil.rmtree(r"C:\Users\Microsoft\Desktop\aaa")
# ======================================
新建
# ==================新建==================
# 新建文件夹,若倒数第二层文件夹不存在则会报错
os.mkdir(r"/home/python")
# 递归新建目录,若文件夹存在则报错
os.makedirs(r"C:\Users\Microsoft\Desktop\aaa\666\777")
# ======================================
复制
# ==================复制==================
# 复制文件,不能复制文件夹
shutil.copyfile(r"D:\python\py1\1.txt", r"D:\python\py2\1.txt")
# 复制文件,与copyfile不同的是,第二个可以参数可以使用文件夹路径
shutil.copy(r"D:\python\py1\1.txt", r"D:\python\py2")
# shutil.copy只复制文件内容,copy2还复制了创建时间、修改时间等信息,
shutil.copy2(r"D:\python\py1\1.txt", r"D:\python\py2")
# 复制整个文件夹,若目标目录已存在,则会报错
shutil.copytree(r"D:\python\py1", r"D:\python\py3\py1")
# ======================================
移动
# ==================移动====================
# 移动文件或文件夹,可使用目录树形式
shutil.move(r"D:\python\py1", r"D:\python\py3\py2")
# ========================================
重命名
# ==================重命名==================
# 重命名文件或目录,但不能这样:rename("/aaa/a.txt","/bbb/a.txt"),也不能同时重命名目录和文件
os.rename(r"C:\Users\Microsoft\Desktop\aaa\5",r"C:\Users\Microsoft\Desktop\bbb\6")
# 重命名目录或文件
# 若同时重命名路径和文件,则会新建路径并将文件重命名后移动到新目录
# 如:os.renames("/aaa/b.txt","/bbb/c.txt"),则会在aaa同级目录新建bbb目录,并将b.txt重命名为c.txt后移动到bbb目录
os.renames(r"C:\Users\Microsoft\Desktop\aaa\6",r"C:\Users\Microsoft\Desktop\aaa\123")
# =======================================
路径相关
# ==================路径相关==================
# 获取文件的完整路径
os.path.abspath(r"script.py")
# 获取完整路径中的文件名,以下返回script.py,等价于os.path.split(path)[1]
os.path.basename(r"/home/python/script.py")
# 获取文件的绝对路径,参数也必须是全路径,另:即使文件不存在也会正常返回,等价于os.path.split(path)[0]
os.path.dirname(r"/home/python/script.py")
# 获取文件的文件名和扩展名,以下返回:('script', '.py')
os.path.splitext(r"script.py")
# 获取脚本运行目录
os.getcwd()
# 获取目录下文件列表,参数为空则为脚本运行目录,返回格式:['1.py','2.py']
os.listdir(r"/home/python")
# 判断文件或路径是否存在
os.path.exists(r"/home/python")
# 判断目标是文件还是路径
os.path.isdir(r"/home/python")
os.path.isfile(r"/home/python")
# =========================================
遍历目录
两种方式:
- os.walk()
- os.listdir() 递归
os.walk
os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])
参数1:要遍历的目录
参数2:默认True为广度遍历,False为深度遍历
参数3:可空,callable 对象,当 walk 异常时,会调用
参数4:可空,如果为 True,则会遍历目录下的快捷方式(linux 下是 symbolic link)实际所指的目录(默认关闭)
import os
list_dirs = os.walk(rootDir)
for root, dirs, files in list_dirs:
# root 所指的是当前正在遍历的这个文件夹的本身的地址
# dirs 是一个list,内容是该文件夹中所有的目录的名字(不包括子目录)
# files 同样是list , 内容是该文件夹中所有的文件(不包括子目录)
print("======")
for d in dirs:
# 只输出遍历文件夹名
print(os.path.join(root, d))
for f in files:
# 只输出遍历的文件名
print(os.path.join(root, f))
os.listdir递归
os.listdir(path)
参数1:目录
返回path目录下的文件夹名和文件名,并按字母顺序排列
def Recursion(rootDir):
for lists in os.listdir(rootDir):
path = os.path.join(rootDir, lists)
# 输出文件名或文件夹名
print(path)
# 判断是否为文件夹,如果是,则递归遍历
# 如果不是则为文件,可执行具体逻辑
if os.path.isdir(path):
Recursion(path)
else:
pass
我的博客:花墨世界
公众号:花墨世界
这可能是最详细的Python文件操作的更多相关文章
- [Python学习笔记][第七章Python文件操作]
2016/1/30学习内容 第七章 Python文件操作 文本文件 文本文件存储的是常规字符串,通常每行以换行符'\n'结尾. 二进制文件 二进制文件把对象内容以字节串(bytes)进行存储,无法用笔 ...
- 初学Python——文件操作第二篇
前言:为什么需要第二篇文件操作?因为第一篇的知识根本不足以支撑基本的需求.下面来一一分析. 一.Python文件操作的特点 首先来类比一下,作为高级编程语言的始祖,C语言如何对文件进行操作? 字符(串 ...
- Python基础篇【第2篇】: Python文件操作
Python文件操作 在Python中一个文件,就是一个操作对象,通过不同属性即可对文件进行各种操作.Python中提供了许多的内置函数和方法能够对文件进行基本操作. Python对文件的操作概括来说 ...
- Python文件操作与函数目录
文件操作 python文件操作 函数 Python函数学习——初步认识 Python函数学习——作用域与嵌套函数 Python函数学习——匿名函数 python内置函数 Python函数学习——递归 ...
- day8.python文件操作
打开和关闭文件 open函数 用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写. file = open(file_name [, access_ ...
- 关于python 文件操作os.fdopen(), os.close(), tempfile.mkstemp()
嗯.最近在弄的东西也跟这个有关系,由于c基础渣渣.现在基本上都忘记得差不多的情况下,是需要花点功夫才能弄明白. 每个语言都有相关的文件操作. 今天在flask 的例子里看到这样一句话.拉开了文件操作折 ...
- Python之路Python文件操作
Python之路Python文件操作 一.文件的操作 文件句柄 = open('文件路径+文件名', '模式') 例子 f = open("test.txt","r&qu ...
- python 文件操作 r w a
python基础-文件操作 一.文件操作 对文件操作的流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 打开文件时,需要指定文件路径和以何等方式打开文件, ...
- Python:文件操作技巧(File operation)(转)
Python:文件操作技巧(File operation) 读写文件 # ! /usr/bin/python # -*- coding: utf8 -*- spath = " D:/dow ...
随机推荐
- 一般处理程序HttpHandler的应用
ashx 一般处理程序(HttpHandler)是·NET众多web组件的一种,ashx是其扩展名.一个httpHandler接受并处理一个http请求,类比于Java中的servlet.类比于在Ja ...
- Percona MySQL5.7内存OOM案例导致重启的memory和thread分析
前言 在一个阳光明媚的下午,电脑右下角传来一片片邮件提醒,同时伴随着微信钉钉的震动,打开一看,应用各种出错,天兔告警,数据库服务器内存爆红,Mysql数据库实例挂掉了. 排查 先交代一下数据库版本: ...
- 什么是套接字(Socket)
应用层通过传输层进行数据通信时,TCP和UDP会遇到同时为多个应用程序进程提供并发服务的问题.多个TCP连接或多个应用程序进程可能需要 通过同一个TCP协议端口传输数据.为了区别不同的应用程序进程和连 ...
- heckboxlist详细用法、checkboxlist用法、checkboxlist
heckboxlist详细用法.checkboxlist用法.checkboxlist for (int i = 0; i < CheckBoxList1.Items.Count; i++) { ...
- CentOS配置rsyslog Serve
CentOS6配置rsyslog Server: vi /etc/rsyslog.conf: #启用如下tcp支持: $ModLoad imtcp $InputTCPServerRun 514 #添加 ...
- 0基础的人如何入门 Python ?Python难么?
人生苦短,我用Python,为啥这么说,因为我们自动化测试有金句:学完Python,便可上天 ~ 废话不多说,相信很多人都听过之前的Python进入小学课本.Python进入浙江省高考等新闻,有这么多 ...
- 【Android自动化】测试系统的应用程序安装与卸载性能,判断长时间反复安装对系统的整体性能影响
# -*- coding:utf-8 -*- import sys import os import time import subprocess from uiautomator import de ...
- [Eclipse]在重命令文件名时,提示编码格式有问题导致修改失败,需要设置如下几个默认编码为UTF-8
需要设置的几处地方为: 1.Window->Preferences->General ->Content Type->Text->JSP 最下面设置为UTF-8 2. W ...
- jfreechart createBarChart 去掉立体感
就是图中每个柱上的白条 提问者采纳 加上这句:barRenderer.setBarPainter(new StandardBarPainter())
- Spring Boot Actuator RCE
来看一下IDEA如何调试Spring Boot 先在https://github.com/artsploit/actuator-testbed下载源码 如下命令就能通过maven环境启动 mvn in ...
