在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] 目录和文件操作的更多相关文章

  1. python目录和文件操作

    一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法. 要操作目录,必须引入os模块 import os1.得到当前工作目录,即当前Python脚本工作的目录路径: os ...

  2. Python目录与文件操作

    一.判断一个路径是否存在 os.path.exists(path) 如果路径存在则返回True,否则返回False. import os import getpass # 获取当前系统用户名 user ...

  3. [python]目录及文件操作

    Python OS模块和shutil模块 获取路径 # 获取当前路径 pwd = os.getcwd() # 获取上级路径 a_pwd = os.path.abspath(os.path.dirnam ...

  4. python os&shutil 文件操作

    python os&shutil 文件操作 # os 模块 os.sep 可以取代操作系统特定的路径分隔符.windows下为 '\\' os.name 字符串指示你正在使用的平台.比如对于W ...

  5. python 历险记(三)— python 的常用文件操作

    目录 前言 文件 什么是文件? 如何在 python 中打开文件? python 文件对象有哪些属性? 如何读文件? read() readline() 如何写文件? 如何操作文件和目录? 强大的 o ...

  6. Python的高级文件操作(shutil模块)

    Python的高级文件操作(shutil模块) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如果让我们用python的文件处理来进行文件拷贝,想必很多小伙伴的思路是:使用打开2个 ...

  7. python基础篇(文件操作)

    Python基础篇(文件操作) 一.初始文件操作 使用python来读写文件是非常简单的操作. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. ...

  8. Linux 目录和文件操作

    Linux常用命令--目录和文件操作 [目录]删除.复制.移动 : 1.删除文件夹用:rmdir 文件夹名 但是rmdir不能删除非空的文件夹,那如何删除非空文件夹呢: 2.通常情况下,删除文件用:r ...

  9. Python 目录和文件基本操作

    今天在写一个小工具的过程中发现对目录和文件的基本操作不是很熟,特此把遇到的常用操作总结汇总下. 获取当前路径:os.getcwd() 目录操作:1.创建目录:os.mkdir('目录名')2.创建多级 ...

随机推荐

  1. [WPF系列]-数据邦定之DataTemplate 使用 DataTrigger 来应用属性值

    使用 DataTrigger 来应用属性值 当前表示不会告诉我们某个 Task 是家庭任务还是办公室任务.记住 Task 对象拥有类型为 TaskType 的 TaskType 属性,该类型是一个枚举 ...

  2. Web报表工具FineReport的JS API开发(二)

    上次介绍FineReport的JS API中的第一类开发--FR,这次就来介绍一下FS和contentWindow类的开发. 1 FS FS是数据决策系统中的js接口,比如说FS.tabPane.ad ...

  3. Windows 10 新特性 -- Bing Maps 3D地图开发入门(一)

    本文主要内容是讲述如何创建基于 Windows Universal App 的Windows 10 3D地图应用,涉及的Windows 10新特性包括 Bing Maps 控件.Compiled da ...

  4. 第22章 java线程(2)-线程同步

    java线程(2)-线程同步 本节主要是在前面吃苹果的基础上发现问题,然后提出三种解决方式 1.线程不安全问题 什么叫线程不安全呢 即当多线程并发访问同一个资源对象的时候,可能出现不安全的问题 对于前 ...

  5. DOCKER是什么,它解决了什么问题?(转)

    Docker 虚拟机 1. docker与虚拟机性能比较 2. 如日中天的Docker解决了什么问题?

  6. 代码覆盖工具(gcov、lcov)的使用

    一.安装 gcov:是随gcc一起发布的,并不需要独立安装:lcov:其他博客说是随ltp发布的,结果下载下ltp之后编译了10多分钟,最后也没见lcov,最后到sourceforge下载了lcov单 ...

  7. StackExchange.Redis通用封装类分享(转)

    阅读目录 ConnectionMultiplexer 封装 RedisHelper 通用操作类封 String类型的封装 List类型的封装 Hash类型的封装 SortedSet 类型的封装 key ...

  8. Stack Overflow: The Architecture - 2016 Edition

    To get an idea of what all of this stuff “does,” let me start off with an update on the average day ...

  9. angularjs + fis +modJS 对于支持amd规范的组建处理(PhotoSwipe 支持,百度webUpload支持)

    这不是很好的处理方式,但是能够解决问题,希望有大神推荐更好的方式. 前端模块使用angularjs + fis +modJS 开发前端应用有两个月了.总结了以下的优点: fis 自动构建,自动发布,功 ...

  10. mysql Workbench 执行删除命令

    SET SQL_SAFE_UPDATES = 0;delete from table1; SET SQL_SAFE_UPDATES = 1;