python_文件与目录操作
来源:互联网 发布:淘宝电费 编辑:程序博客网 时间:2024/04/30 11:51
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)
- python_文件与目录操作
- Python_文件操作
- python_文件操作
- 19-python_文件和目录
- 文件与目录操作
- 文件与目录操作
- python:目录与文件操作
- python目录与文件操作
- 文件与目录操作函数
- python:目录与文件操作
- python 文件与目录操作
- python 文件与目录操作
- Python 文件与目录操作
- Python 文件与目录操作
- python文件与目录操作
- Qt文件与目录操作
- Python 文件与目录操作 .
- Python目录与文件操作
- java的Collection和Map
- 将DELPHI数据库连接写进INI配置文件中
- 各类语言对文件的操作
- sbo中怎么不通过linkbutton跳出来指定的应付发票
- 电脑维修的基本方法!!
- python_文件与目录操作
- 关于wince telnet组件的一篇博客
- 解决href使用onclick方法时点击该链接的时候不会跳转页面.但是滚动条会往上滚的问题
- asp.net留言本(文本格式)
- 异构数据库之间的复制(SQL)
- 计算机加密
- 网络故障诊断与优化!
- 国际化,资源文件如何存储更优?
- 我国拟修刑法严惩网络犯罪:黑客犯罪最高判7年