资讯专栏INFORMATION COLUMN

python学习笔记 - 操作文件和目录

xialong / 3058人阅读

摘要:对目录的操作获取绝对路径合并目录。总是将把一个路径拆分为两部分,后一部分总是最后级别的目录或文件名对文件进行操作重命名删除文件删除目录时,目录必须为空删除目录,模块的扩展版。和需是文件可以是文件或者是目录。打印出所有的目录。

pytho的os、os.path模块给我买提供了很多对文件或者目录进行操作的方法。

os.path 对目录的操作
import os.path

print os.path.abspath(".")
# 获取绝对路径

print os.path.join("aaa","bbb")
# 合并目录。因为路径分隔符是平台相关的

print os.path.split("aaa/bbb/ccc")
#分离路径。总是将把一个路径拆分为两部分,后一部分总是最后级别的目录或文件名

print os.path.split("aaa")
# ("", "aaa")

print os.path.split("aaa/bbb/ccc/demo.txt")
# ("aaa/bbb/ccc", "demo.txt")

print os.path.splitext("aaa/bbb/ccc/demo.txt")
# ("aaa/bbb/ccc/demo", ".txt")
os对文件进行操作
os.rename("world222.txt", "world222.txt")
# 重命名

os.remove("world2.txt")
# 删除文件

os.removedirs("hello")
删除目录时,目录必须为空
# 删除目录
shutil,os模块的扩展版。

说明:shutil的高级拷贝函数copy()`copy2()`均不能完全拷贝文件的元数据(metadata).

shutil.copyfileobj(fsrc, fdst[, length])

拷贝file-like object.

shutil.copyfile(src, dst)

src、dst必须是带路径的文件名。
src、dst如果一样,那么则会包Error错误
目标路径必须可写,否则IOError

shutil.copy(src, dst)

src dst可以是文件或者目录

shutil.copymode(src, dst)

拷贝mode,就是文件权限

shutil.copystat(src, dst)

拷贝文件权限,最后访问时间,最后修改时间,标记。

shutil.copy(src, dst) 和 shutil.copy2(src, dst)

src 需是文件; dst可以是文件或者是目录。
shutil.copy会拷贝权限信息。shutil.copy2则是shutil.copy(src, dst)和shutil.copystat(src, dst)的结合。

shutil.copytree(src, dst)

拷贝目录,dst必须是还未存在的。dst如果已经存在但是并非一个目录,也会出错。

shutil.rmtree(src, dst)

删除目录。

shutil.move(src, dst)

讲一个目录或者文件移动到另一个文件或者目录。

过滤

我们可以使用for...if...来过滤目录。

print [x for x in os.listdir(".") if os.path.splitext(x)[1] == ".py"]
#打印出所有以.py结尾的文件。

print [x for x in os.listdir(".") if os.path.isdir(x)]
# 打印出所有的目录。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/38341.html

相关文章

  • python 学习笔记 3 os模块介绍

    摘要:此函数用于删除文件目录。此函数将绝对路径拆成文件名和路径两部分此函数将绝对路径拆成路径文件和文件后缀两部分此函数用于重命名文件。这一行代码的目的是显示当前目录中所有的目录 0.前置说明 运行环境:Win7虚拟机、python2.7(anacoda版) 本文大部分内容引用此参考文献并极力推荐根据此人博客学习python:http://www.liaoxuefeng.com/wiki/...

    antz 评论0 收藏0
  • Python 3 学习笔记之——标准库概述

    摘要:操作系统接口模块提供了一些与操作系统相关联的函数。返回当前目录下所有图片的文件名命令行参数在命令行中运行命令时,这些参数会以列表形式保存在模块的变量中。日期和时间模块为日期和时间处理同时提供了简单和复杂的方法。 1. 操作系统接口 os 模块提供了一些与操作系统相关联的函数。 >>> os.getcwd() # 获取当前工作目录 /home/senius >>>...

    canger 评论0 收藏0
  • Docker-Compose官方学习笔记(2)起步构建一个多容器app应用

    摘要:使用构建一个创建一个文件夹创建脚本这个脚本使用了和的包,并且启动了一个服务端口创建构建的由于在的时候,默认会去官方去获取,国内是无法访问的,所以这里使用了的镜像去下载包。 使用docker-compose构建一个python-web app 创建一个文件夹 python-web-app $mkdir python-web-app $cd python-web-app 2.创建pytho...

    BWrong 评论0 收藏0
  • Python 3 学习笔记之——变量作用域、模块

    摘要:局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。调用函数时,所有在函数内声明的变量名称都将被加入到作用域中。 1. 变量作用域 Python 中,程序的变量并不是在哪个位置都可以访问的,访问权限决定于这个变量是在哪里赋值的。变量的作用域决定了在哪一部分程序可以访问哪个特定的变量名称。Python 的作用域一共有4种,分别是: L (Local) 局部作用...

    lijinke666 评论0 收藏0
  • python3 学习笔记

    摘要:本人很少写代码一般都是用的去年时用写过一些收集系统信息的工具当时是边看手册边写的如今又要用来写一个生成的工具就又需要查看手册了至于为什么不用写那是因为的库不兼容永中在这里不得不说虽然很火但是一些库还是不如多不如兼容性好为了避免以后再出这种事 Python3 Study Notes 本人很少写 python 代码, 一般都是用 go 的, 去年时用 python 写过一些收集系统信息的工...

    tuomao 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<