python 文件与目录操作_python

1)os.path
1.1 os.path.isabs(path) 是否是绝对路径
1.2 os.path.isfile(path)
1.3 os.path.isdir(path)
1.4 os.path.islink(path) 是否是链接;但如果系统不支持链接,返回False
1.5 os.path.ismount(path) 是否为驱动器;但是很不幸的是在python 3.0中这是个不能运行的函数。
原函数如下:

# Is a path a mount point? Either a root (with or without drive letter)
# or an UNC path with at most a / or \ after the mount point.

def ismount(path):
"""Test whether a path is a mount point (defined as root of drive)"""
unc, rest = splitunc(path)
seps = _get_bothseps(p)
if unc:
return rest in p[:0] + seps
p = splitdrive(path)[1]
return len(p) == 1 and p[0] in seps

其错误之处是显而易见的。不知道这个函数为什么这么写,在windows平台,可以如下完成该功能
def ismount(path):
p = splitdrive(path)[1]
if len(p) > 0:
return(False)
else:
return(True)

其他平台没有对应的机器,不知道具体情形。
1.6 os.path.abspath(path) 返回绝对路径
1.7 os.path.dirname(path)
1.8 os.path.exists(path)
1.9 os.path.lexists(path) 和exists函数一样
1.10os.path.getsize(path)
1.11os.path.getctime(path) 返回浮点数的系统时间,在类Unix系统上是文件最近更改的时间,
在Windows上是文件或目录的创建时间
1.12os.path.getmtime(path) 文件或目录最后更改的时间
1.13os.path.getatime(path) 文件或目录最后存取的时间
1.14os.path.samefile(path1,path2) 如果2个路径指向同样的文件或目录,返回True(Windows上不可用)
1.15os.path.split(path) 分割路径,如果path是目录,返回[parentName, dirName];
如果path是文件,返回[dirName, fileName]
1.16os.path.splitext(path) 分割路径,如果path是目录,返回[parentName, ''];
如果path是文件,返回[dirName+fileName, 文件后缀]

2)fileinput
简单使用
import file
input for line in fileinput.input():
process(line)

2.1 fileinput.input([files[, inplace[, backup[,mode[,openhook]]]]])
创建一个fileinput的实例,如果files为空,则指向控制台获得输入;如果file为'-',同样转向控制台获得输入。
默认情况,文件以text mode打开,如果需要其他格式,则需要指定。
2.2 fileinput.filename() #只有当读入第一行之后,该值才被赋值
2.3 fileinput.fileno()
2.4 fileinput.lineno()
2.5 fileinput.filelineno()
2.6 fileinput.isfirstline()
2.7 fileinput.isstdin()
2.8 fileinput.nextfile()
2.9 fileinput.close()

3)glob
可以使用简单的方法匹配某个目录下的所有子目录或文件,用法也很简单。
3.1 glob.glob(regression) 返回一个列表
3.2 glob.iglob(regression) 返回一个遍历器
这个模块简单好用,强力推荐。

4)linecache
看名字就知道了,属于缓存类的
4.1 linecache.getline(filename,lineno[, module_globals]) #获得filename的第lineno行
4.2 linecache.clearcache()
4.3 linecache.checkcache([filename]) #检查更新

5)shutil 重点推荐的袄,好东西,支持文件集合的复制和删除操作
5.1 shutil.copyfileobj(fsrc, fdst[, length])
5.2 shutil.copyfile(src, dst) #上面2个都是文件的复制
5.3 shutil.copymode(src, dst) #除了复制内容,还会复制其他的一些信息,例如作者
5.4 shutil.copystat(src, dst) #除了复制内容,还会复制存取时间的信息
5.5 shutil.copy(src, dst) #复制文件到dst,当dst为目录时,复制到子目录
5.6 shutil.copy2(src, dst) #相当于先copy再copystat
5.7 shutil.copytree(src, dst[, symlinks=False[, ingore=None]]) #复制文件夹树,注意,dst文件夹必须是不存在的
5.8 shutil.rmtree(path[, ignore_erros[, onerror]])
5.9 shutil.move(src,dst)

复制代码 代码如下:

def copytree(src, dst, symlinks=False):
names = os.listdir(src)
os.makedirs(dst)
errors = []
for name in names:
srcname = os.path.join(src, name)
dstname = os.path.join(dst, name)
try:
if symlinks and os.path.islink(srcname):
linkto = os.readlink(srcname)
os.symlink(linkto, dstname)
elif os.path.isdir(srcname):
copytree(srcname, dstname, symlinks)
else:
copy2(srcname, dstname)
# XXX What about devices, sockets etc.?
except (IOError, os.error) as why:
errors.append((srcname, dstname, str(why)))
# catch the Error from the recursive copytree so that we can
# continue with other files
except Error as err:
errors.extend(err.args[0])
try:
copystat(src, dst)
except WindowsError:
# can't copy file access times on Windows
pass
except OSError as why:
errors.extend((src, dst, str(why)))
if errors:
raise Error(errors)

时间: 2024-08-31 18:37:16

python 文件与目录操作_python的相关文章

Python文件及目录操作实例详解

  本文实例讲述了Python文件及目录操作的方法.分享给大家供大家参考.具体分析如下: 在python中对文件及目录的操作一般涉及多os模块,os.path模块.具体函数以及使用方法在程序中说明. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 5

Python文件和目录操作详解_python

一.文件的打开和创建 1.打开 复制代码 代码如下: open(file,mode): >>>fo = open('test.txt', 'r') >>>fo.read() 'hello\n' >>>fo.close() file(file,mode): >>>f = file('test.txt', 'r') >>>f.read() 'hello\n' >>>f.close() mode可取值:

python文件和目录操作函数小结_python

python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()返回指定目录下的所有文件和目录名:os.listdir()函数用来删除一个文件:os.remove()删除多个目录:os.removedirs(r"c:\python")检验给出的路径是否是一个文件:os.path.isfile()检验给出的路径是否是一个目录:os.path.isdir()判断是否是绝对路径:os.p

PHP文件与目录操作示例解析

本文实例讲述了PHP文件与目录操作.分享给大家供大家参考,具体如下: 文件目录相关函数 <?php // 输出目录中的文件 functionoutputcurfiles ($allowedtypes,$thedir){ //首先,我们确保目录存在. if(is_dir($thedir)){  //现在,我们使用scandir扫描目录中的文件.  $scanarray= scandir ($thedir);  //接着我们开始解析数组.  //scandir()用"."和"

LINUX学习(一)文件与目录操作

        用户的数据和程序大多以文件的形式保存.用户使用Linux系统的过程中,需要经常对文件和目录进行操作.本章讲述了文件与目录的基本概念,有关文件和目录操作的命令以及如何在Linux环境下运行DOS命令. 文件与目录的基本概念 文件与文件名 在多数操作系统中都有文件的概念.文件是Linux用来存储信息的基本结构,它是被命名(称为文件名)的存储在某种介质(如磁盘.光盘和磁带等)上的一组信息的集合.Linux文件均为无结构的字符流形式.文件名是文件的标识,它由字母.数字.下划线和圆点组成的

Python中的文件和目录操作实现代码_python

本文将详细解释这些函数的使用方法.首先,我们介绍Python语言中类似于Windows系统的dir命令的列出文件功能,然后描述如何测试一个文件名对应的是一个标准文件.目录还是链接,以及提取文件大小和日期的方法.之后,我们还将介绍如何删除文件和目录,如何复制和删除文件,以及怎样将一个完整的文件路径分解成目录部分和文件名部分,最后,我们讲解目录的创建,以及如何在目录树中移动目录并处理文件. 一.显示目录内容 当我们想要列出当前目录中所有扩展名为.jpg或.gif的文件的时候,就可以使用glob模块来

python文件和目录操作方法大全(含实例)_python

一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法.1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()2.返回指定目录下的所有文件和目录名:os.listdir()3.函数用来删除一个文件:os.remove()4.删除多个目录:os.removedirs(r"c:\python")5.检验给出的路径是否是一个文件:os.path.isfile()6.检验给出的路径是否是一个目录:os.path.isdir()7.判断是

Python 文件和输入输出小结_python

1.打开和关闭文件(open(),file(),close()) 有两种内建函数可以获取文件对象:open和file.他们的用法完全一样.下面只以open()为例子讲解.获取一个文件对象(打开文件)的语法如下:        复制代码 代码如下: fileObj = open(filename,access_mode='r',buffering=-1)  filename不用说你也应该知道是你要打开文件的路径. access_mode用来标识文件打开的模式,默认为r(只读). 常用的模式如下表所

php基础入门篇-文件和目录操作

本章可以算是上一章的延续,介绍了除文件实际内容之外的附加信息,包括文件的大小.目录.访问权限等.文件系统中的某些函数只在服务器为特定的系统中时才有效,例如更改符号链接的函数symlink(),设定文件访问权限的函数chmod(),设定目录访问权限的函数umask()等等这些只在Linux系统中有效,在Windows系统中无效.PHP5以后提供的DirectoryIterator类也封装了很多实用的目录方面的操作  代码如下 复制代码 //------------- 采用DirectoryIter