设为首页 收藏本站
查看: 938|回复: 0

[经验分享] [Python] 目录和文件操作

[复制链接]

尚未签到

发表于 2015-12-2 11:18:26 | 显示全部楼层 |阅读模式
    在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
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-146269-1-1.html 上篇帖子: <转>selenium+python+API分类总结 下篇帖子: Python基础学习笔记(一)安装以及IDE的配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表