[Python] 目录和文件操作
在Linux系统下用Python写脚本,肯定不能避免各种与目录和文件夹有关的操作。为了以后方便查阅,简单地针对Python中与目录和文件夹有关的操作进行汇总。
需要实现导入的模块为: import os
1. 得到当前工作目录,即当前Python脚本工作的目录路径:
path=os.getcwd()
在这里引用一个比较好的例子,来源于:牛皮糖的旅程
我们将abc.py放入A文件夹。并且希望不管将A文件夹放在硬盘的哪个位置,都可以在A文件夹内生成一个新文件夹。且文件夹的名字根据时间自动生成。
import os
import time
folder = time.strftime(r"%Y-%m-%d_%H-%M-%S",time.localtime())
os.makedirs(r'%s/%s'%(os.getcwd(),folder))
2. 返回指定目录下的所有文件和目录名:
os.listdir()
3. 判断一个路径(目录或文件)是否存在:
b = os.path.exists("路径")——返回值b:True 或 False
4. 判断一个路径是否文件:
b = os.path.isfile("路径")——返回值b:True 或 False
5. 判断一个路径是否目录:
b = os.path.isdir("路径")——返回值b: True 或 False
6. 创建子目录:
os.makedirs(path)——path是"要创建的子目录"
调用有可能失败,可能的原因是:
(1) path 已存在时(不管是文件还是文件夹);
(2) 驱动器不存在;
(3) 磁盘已满;
(4)磁盘是只读的或没有写权限。
7. 删除子目录:
os.rmdir(path)——path: "要删除的子目录"
产生异常的可能原因:
(1) path 不存在;
(2) path 子目录中有文件或下级子目录;
(3) 没有操作权限或只读。
shutil.rmtree(path)——空目录、有内容的目录都可以删
8. 删除文件:
os.remove(filename)——filename: "要删除的文件名"
产生异常的可能原因:
(1) filename 不存在;
(2) 对filename文件,没有操作权限或只读。
9. 文件改名:
os.name(oldfileName, newFilename)
产生异常的原因:
(1) oldfilename 旧文件名不存在;
(2) newFilename 新文件已经存在时,需要先删除 newFilename 文件。
10. 获取文件大小:
os.path.getsize(filename)
11. 将一个路径名分解为目录名和文件名两部分:
fpath , fname = os.path.split("路径")
例如:
a, b = os.path.split( "c:\\123\\456\\test.txt" )
print a
print b
显示:
c:\123\456
test.txt
12. 分解文件名的扩展名:
fpathandname , fext = os.path.splitext("路径")
例如:
a, b = os.path.splitext( "c:\\123\\456\\test.txt" )
print a
print b
显示:
c:\123\456\test
.txt
[Python] 目录和文件操作的更多相关文章
- python目录和文件操作
一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法. 要操作目录,必须引入os模块 import os1.得到当前工作目录,即当前Python脚本工作的目录路径: os ...
- Python目录与文件操作
一.判断一个路径是否存在 os.path.exists(path) 如果路径存在则返回True,否则返回False. import os import getpass # 获取当前系统用户名 user ...
- [python]目录及文件操作
Python OS模块和shutil模块 获取路径 # 获取当前路径 pwd = os.getcwd() # 获取上级路径 a_pwd = os.path.abspath(os.path.dirnam ...
- python os&shutil 文件操作
python os&shutil 文件操作 # os 模块 os.sep 可以取代操作系统特定的路径分隔符.windows下为 '\\' os.name 字符串指示你正在使用的平台.比如对于W ...
- python 历险记(三)— python 的常用文件操作
目录 前言 文件 什么是文件? 如何在 python 中打开文件? python 文件对象有哪些属性? 如何读文件? read() readline() 如何写文件? 如何操作文件和目录? 强大的 o ...
- Python的高级文件操作(shutil模块)
Python的高级文件操作(shutil模块) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如果让我们用python的文件处理来进行文件拷贝,想必很多小伙伴的思路是:使用打开2个 ...
- python基础篇(文件操作)
Python基础篇(文件操作) 一.初始文件操作 使用python来读写文件是非常简单的操作. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. ...
- Linux 目录和文件操作
Linux常用命令--目录和文件操作 [目录]删除.复制.移动 : 1.删除文件夹用:rmdir 文件夹名 但是rmdir不能删除非空的文件夹,那如何删除非空文件夹呢: 2.通常情况下,删除文件用:r ...
- Python 目录和文件基本操作
今天在写一个小工具的过程中发现对目录和文件的基本操作不是很熟,特此把遇到的常用操作总结汇总下. 获取当前路径:os.getcwd() 目录操作:1.创建目录:os.mkdir('目录名')2.创建多级 ...
随机推荐
- 《InsideUE4》-10-GamePlay架构(九)GameInstance
一人之下,万人之上 引言 上篇我们讲到了UE在World之上,继续抽象出了Player的概念,包含了本地的ULocalPlayer和网络的UNetConnection,并以此创建出了World中的Pl ...
- JustWeTools - 自定义控件集
JustWeTools - Some useful tools 项目地址 JustWe 现在有哪些模块? View自定义控件 PaintView画图工具(包含重构压感新版) CodeView代码编辑 ...
- Manacher's algorithm
Manacher's algorithm 以\(O(n)\)的线性时间求一个字符串的最大回文子串. 1. 预处理 一个最棘手的问题是需要考虑最长回文子串的长度为奇数和偶数的情况.我们通过在任意两个字符 ...
- 【2016-11-10】【坚持学习】【Day23】【Socket 编程初步了解】
网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket.
- ZBrush该如何通过结合KeyShot制作逼真玉佩
玉在中国的文明史上有着特殊的地位,古人的很多生活器具都是玉雕成的,能常戴在身上的惟有玉佩,古语有云"君子无故,玉不去身".即便到了现代,仍有很多人佩戴玉,倒不一定是因为它有多彰显地 ...
- hdu-5988 Coding Contest(费用流)
题目链接: Coding Contest Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Ot ...
- 三维网格补洞算法(Radial Basis Function)
在逆向工程中,由于设备或模型的原因,我们获取得到的三维模型数据往往并不完整,从而使得生成的网格模型存在孔洞,这对后续的模型分析会造成影响.下面介绍一种基于径向基函数(RBF:Radial Basis ...
- leetcode : Binary Tree Paths
Given a binary tree, return all root-to-leaf paths. For example, given the following binary tree: 1 ...
- struts2中的OGNL详解
先了解一下OGNL的概念 OGNL的全名称Object Graph Navigation Language.全称为对象图导航语言,是一种表达式语言.使用这种表达式语言,你可以通过某种表达式语法,存取J ...
- flush和reflush
/** * jpa 中的reflush 同 hibernate 中 Session 的 refresh 方法. * * reflush 会强制发送sql查询(select)语句,使缓存中的数据和数据库 ...