python中os操作文件及文件路径

python中os操作文件及文件路径实例汇总

    1 . python获取文件上一级目录:取文件所在目录的上一级目录

            os.path.abspath(os.path.join(os.path.dirname('settings.py'),os.path.pardir))

   2.  os.path.pardir是父目录,os.path.abspath是绝对路径

            printos.path.dirname(os.path.abspath("__file__"))
            print os.path.pardir
            print os.path.join(os.path.dirname("__file__"),os.path.pardir)
            printos.path.abspath(os.path.join(os.path.dirname("__file__"),os.path.pardir))

   3 . 获取文件当前路径:

          os.path.dirname(os.path.abspath('__file__'))

 

python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。
        得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()
        返回指定目录下的所有文件和目录名:os.listdir()
         函数用来删除一个文件:os.remove()
        删除多个目录:os.removedirs(r“c:\python”)
        检验给出的路径是否是一个文件:os.path.isfile()
        检验给出的路径是否是一个目录:os.path.isdir()
        判断是否是绝对路径:os.path.isabs()
        检验给出的路径是否真地存:os.path.exists()
      返回一个路径的目录名和文件名:os.path.split() egos.path.split('/home/swaroop/byte/code/poem.txt') 结果:                                                                                                                                                          ('/home/swaroop/byte/code','poem.txt')
      分离扩展名:os.path.splitext()
      获取路径名:os.path.dirname()
      获取文件名:os.path.basename()
     运行shell命令: os.system()
     读取和设置环境变量:os.getenv() 与os.putenv()
     给出当前平台使用的行终止符:os.linesep Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'
     指示你正在使用的平台:os.name 对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'
     重命名:os.rename(old, new)
    创建多级目录:os.makedirs(r“c:\python\test”)
    创建单个目录:os.mkdir(“test”)
    获取文件属性:os.stat(file)
   修改文件权限与时间戳:os.chmod(file)
   终止当前进程:os.exit()
   获取文件大小:os.path.getsize(filename)

 

python目录操作:

         os.mkdir("file") 创建目录

         复制文件:
         shutil.copyfile("oldfile","newfile") oldfile和newfile都只能是文件
         shutil.copy("oldfile","newfile") oldfile只能是文件夹,newfile可以是文件,也可以是目标目录


         复制文件夹:
         shutil.copytree("olddir","newdir") olddir和newdir都只能是目录,且newdir必须不存在


         重命名文件(目录)
         os.rename("oldname","newname") 文件或目录都是使用这条命令


         移动文件(目录)
         shutil.move("oldpos","newpos")


         删除文件
         os.remove("file")


         删除目录
        os.rmdir("dir")只能删除空目录
        shutil.rmtree("dir") 空目录、有内容的目录都可以删 


        转换目录
        os.chdir("path") 换路径

pyhton文件操作函数:

os.mknod("test.txt") 创建空文件
fp = open("test.txt",w) 直接打开一个文件,如果文件不存在则创建文件
关于open 模式:
       w 以写方式打开,
       a 以追加模式打开 (从 EOF 开始, 必要时创建新文件)
       r+ 以读写模式打开
       w+ 以读写模式打开 (参见 w )
       a+ 以读写模式打开 (参见 a )
       rb 以二进制读模式打开
       wb 以二进制写模式打开 (参见 w )
       ab 以二进制追加模式打开 (参见 a )
       rb+ 以二进制读写模式打开 (参见 r+ )
       wb+ 以二进制读写模式打开 (参见 w+ )
       ab+ 以二进制读写模式打开 (参见 a+ )
 
fp.read([size]) #size为读取的长度,以byte为单位
fp.readline([size]) #读一行,如果定义了size,有可能返回的只是一行的一部分
fp.readlines([size]) #把文件每一行作为一个list的一个成员,并返回这个list。其实它的内部是通过循环调用readline()来实现的。如果提供size参数,size是表示读取内容的总长,也就是说可能只读到文件的一部分。
fp.write(str) #把str写到文件中,write()并不会在str后加上一个换行符
fp.writelines(seq) #把seq的内容全部写到文件中(多行一次性写入)。这个函数也只是忠实地写入,不会在每行后面加上任何东西。
fp.close() #关闭文件。python会在一个文件不用后自动关闭文件,不过这一功能没有保证,最好还是养成自己关闭的习惯。如果一个文件在关闭后还对其进行操作会产生ValueError
fp.flush() #把缓冲区的内容写入硬盘
fp.fileno() #返回一个长整型的”文件标签“
fp.isatty() #文件是否是一个终端设备文件(unix系统中的)
fp.tell() #返回文件操作标记的当前位置,以文件的开头为原点
fp.next() #返回下一行,并将文件操作标记位移到下一行。把一个file用于for … in file这样的语句时,就是调用next()函数来实现遍历的。
fp.seek(offset[,whence]) #将文件打操作标记移到offset的位置。这个offset一般是相对于文件的开头来计算的,一般为正数。但如果提供了whence参数就不一定了,whence可以为0表示从头开始计算,1表示以当前位置为原点计算。2表示以文件末尾为原点进行计算。需要注意,如果文件以a或a+的模式打开,每次进行写操作时,文件操作标记会自动返回到文件末尾。
fp.truncate([size]) #把文件裁成规定的大小,默认的是裁到当前文件操作标记的位置。如果size比文件的大小还要大,依据系统的不同可能是不改变文件,也可能是用0把文件补到相应的大小,也可能是以一些随机的内容加上去。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/350924.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JVM内存管理(一)--GC简介

GC策略解决了哪些问题? 既然是要进行自动GC,那必然会有相应的策略,而这些策略解决了哪些问题呢,粗略的来说,主要有以下几点。 1、哪些对象可以被回收。 2、何时回收这些对象。 3、采用什么样的方式回收。 GC策略采用何…

java 自定义注释_带有自定义注释的Java注释教程

java 自定义注释Java批注提供有关代码的信息,并且它们对其批注的代码没有直接影响。 在本教程中,我们将学习Java注释,如何编写自定义注释 ,注释用法以及如何使用反射来解析注释 。 注释是在Java 1.5中引入的,现在它已…

vue标准时间改为时间戳_正确的济南初中寒假放假时间安排出来啦!家长速戳→...

原标题:正确的济南初中寒假放假时间安排出来啦!家长速戳→今年济南初中寒假放假时间↓↓↓ 2021年1月30日-2月26日第一学期1 寒假安排义务教育阶段学校寒假开始时间为2021年1月30日(腊月十八),寒假结束时间为2月26日(正月十五)。高中阶段学校…

给深度学习入门者的Python快速教程 - 基础篇

Python快速教程 - 基础篇 5.1 Python简介 本章将介绍Python的最基本语法,以及一些和深度学习还有计算机视觉最相关的基本使用。 5.1.1 Python简史 Python是一门解释型的高级编程语言,特点是简单明确。Python作者是荷兰人Guido van Rossum&#xff0c…

模糊理论在机器人传感器中的应用_智能家电中的传感器应用大全

面对智能化家庭网络的逐渐普及和发展,各种各样的传感器引入到家电中变得更加迫切。人们希望家电能增加使用的舒适度、减少耗能和耗水、清洗方便、降低噪声和振动、提高使用质量、实现复杂的智能。以前传感器主要应用于温度控制和水平控制系统, 现在它们的…

用Java解析:您可以使用的所有工具和库

如果需要从Java解析语言或文档,则从根本上讲有三种方法可以解决问题: 使用支持该特定语言的现有库:例如用于解析XML的库 手动构建自己的自定义解析器 生成解析器的工具或库:例如ANTLR,可用于构建任何语言的解析器 …

一台服务器装两个sql server 如何访问吗_服务器多网卡多路由策略

场景背景与需求某公司新买一台服务器, 服务器资源(cpu,内存,硬盘)比较多,并且有多个网卡。运维工程师为了节省资源,在服务器上搭建多个服务,希望通过多个网卡实现流量分流。但由于运维工程师对网络理解不够深入,将服务器的多个网卡都配置了同…

python seed()

Python seed() 函数 seed() 方法改变随机数生成器的种子,可以在调用其他随机模块函数之前调用此函数。 以下是 seed() 方法的语法: import random random.seed ( [x] )注意:seed(()是不能直接访问的,需要导入 …

vue 路由知识点梳理及应用场景整理

最近做项目才发现,我确实对 vue-router 太不熟悉了,都只了解个简单用法就开始搞了,本来很简单的问题,都搞不清楚。现在重新看一遍文档,重新梳理一下。 vue 路由的原理 说实话,路由我一直也就光顾着用&#…

dct变换的主要优点有哪些_发泡保温材料包括哪些成分?主要优点是什么?有没有发展前景?...

在各个行业中,对发泡保温材料都有需求。随着这种材料越来越受欢迎,更多人开始关注它的成分与优点。了解的越多,越容易在合适的场合令其发挥功效。组成成分有哪些?对于发泡保温材料来说,包括甲组和乙组两部分。所谓的甲…

企业集成模式_企业集成模式简介

企业集成模式在此博客文章中,我们将介绍一些企业集成模式。 这些是旨在解决集成挑战的已知设计模式。 阅读此书后,您将可以设计集成解决方案。 EIP(简而言之)是已知的设计模式,可为应用程序集成过程中面临的问题/问题…

win7安装

以Dell电脑为例,其他品牌电脑类似 Dell安装win7 一:快捷启动U盘或光盘的方法: 1, 打开戴尔Dell电脑,当进入到标志画面时,马上按键盘上方的F12键,就能进入到快捷启动菜单。 2, 进…

【Bootstrap】 框架 栅格布局系统设计原理

前提条件(Bootstrap 自带) 首先使用这个布局之前要定义一下代码: 这行代码如果不懂,可以搜索一下,总之大致意思就是,被定义的元素的内边距和边框不再会增加它的宽度,不加入的话排版会有问题。 不…

asp.net接受表单验证格式后再提交数据_药物临床试验数据管理与统计分析的计划和报告指导原则...

来源:国家药监局网站一、前言规范的数据管理计划有助于获得真实、准确、完整和可靠的高质量数据;而详细的统计分析计划则有助于保证统计分析结论正确和令人信服。为保证临床试验数据的质量和科学评价药物的有效性与安全性,必须事先对数据管理…

使用Spring Boot应用程序将代码管道化

这是有关基于本地Docker compose堆栈的持续交付的一系列帖子中的最后一篇(请参阅此处的第一篇和第二篇文章 )。 在这篇文章中,我使用一个简单的Spring Boot项目来展示如何利用“ 管道作为代码 ”的概念。 请注意,这仅是示例&#…

matlab function的使用

首先创建一个m文件; Matlab函数定义格式,用关键字function定义函数 function [输出变量] 函数名称(输入变量) % 注释 % 函数体 简单的函数如下: function [a,b,c]test(d,e,f) ade; bef; cfd; end 函数的调用: …

关键词热度分析工具_阿里国际站外贸独立站关键词的收集

很多朋友在做外贸独立站SEO和阿里巴巴国际站的时候,一定要查找收集一定数量的关键词,并且按照关键词的热度和词品相关性进行分类,从而为后面阿里巴巴国际站发布产品或者独立站谷歌推广打下坚实的基础。所谓磨刀不误砍柴工,好的关键…

matlab区分卷积和相关

区分卷积和相关 图像处理中常常需要用一个滤波器做空间滤波操作。空间滤波操作有时候也被叫做卷积滤波,或者干脆叫卷积(离散的卷积,不是微积分里连续的卷积);滤波器也有很多名字:卷积模版、卷积核、掩模、…

2345电脑管家_2345软件管家下载|2345软件管家 2.0 官方正式版

对于很多类似的软件而言,这一款软件在互联网行业也不算无名之辈,毕竟你都搜索到这里,也是认可了这款软件的地位和作用。而且看最新的版本迭代,也有一些比较欣喜的变化,是以前版本所没有的。2345软件管家功能介绍 新一代…

matlab imwrite将图像保存到其他目录

%读入C:\desktop 文件夹下图片test.jpg imgimread(C:\desktop\test.jpg); %用imwrite将图片写入到D:\目标 文件夹下,并重命名为img_propose.jpg imwrite(img,D:\目标\img_propose.jpg);