python文件处理
python中对文件处理需要涉及到os模块和shutil模块
得到当前工作目录路径:os.getcwd()
获取指定目录下的所有文件和目录名:os.listdir(dir)
删除文件:os.remove(file)
删除多个目录:os.removedirs(r"/home")
检测路径是否为文件:os.path.isfile(path)
检测路径是否为目录:os.path.isdir(path)
判断是否为绝对路径:os.path.isabs(path)
检测路径是否存在:os.path.exists(path)
返回一个路径的目录名和文件名:os.path.split(path)
分离扩展名:os.path.splitext(file)
获取路径名:os.path.dirname(file)
获取文件名:os.path.basename(file)
运行shell命令:os.system(command)
读取和设置环境变量:os.getenv()与os.putenv()
给出当前平台的行终止符:os.linesep (windows为\r\n,linux为\n,Mac为\r)
指示你正在使用的平台:os.name (windows为nt,linux为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)
文件操作:
文件内容替换
for line in fileinput.input("filepath",inplace=1):
line = line.replace("oldtext","newtext")
print line,
os.mknod("text.txt") 创建空文件
fp = open("text.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会在一个文件不用后自动关闭,不过这一功能没有保证
fp.flush() #把缓冲区的内容写入磁盘
fp.fileno() #返回一个长整形的文件标签
fp.isatty() #文件是否是一个终端设备文件
fp.tell() #返回文件操作标记的当前位置,以文件的开头为原点
fp.next() #返回下一行,并将文件操作标记位移到下一行
fp.seek(offset[,whence])#将文件操作标记移到offset的位置,这个offset一般是相对于文件的开头来计算的,一般为正数,但如果提供了whence参数就不一定了,whence可以为0表示从头开始计算,1表示以当前位置为原点计算,2表示以文件末尾为原点计算。需要注意,如果文件以a或a+模式打开,每次进行写操作时,文件操作标记会自动返回到文件末尾
fp.truncate([size]) #把文件裁成规定的大小,默认的是裁到当前文操作标记的位置
目录操作:
os.mkdir("file") #创建目录
shutil.copyfile("oldfile","newfile") #oldfile和newfile只能是文件
shutil.copy("oldfile","newfile") #oldfile只能是文件夹,newfile可以是文件或目标目录
shutil.copytree("olddir","newdir") #复制文件夹,newdir必须不存在
os.rename("oldname","newname") #重命名文件或文件夹
shutil.move("oldpos","newpos") #移动文件或目录
os.remove("file") #删除文件
os.rmdir("dir") #只能删除空目录
shutil.rmtree("dir") #有内容或空目录都可以删
os.chdir("path") #换路径
python文件处理的更多相关文章
- Linux下Python 文件内容替换脚本
Linux下Python 文件替换脚本 import sys,os if len(sys.argv)<=4: old_text,new_text = sys.argv[1],sys.argv[2 ...
- 【Python文件处理】递归批处理文件夹子目录内所有txt数据
因为有个需求,需要处理文件夹内所有txt文件,将txt里面的数据筛选,重新存储. 虽然手工可以做,但想到了python一直主张的是自动化测试,就想试着写一个自动化处理数据的程序. 一.分析数据格式 需 ...
- Python文件使用“wb”方式打开,写入内容
Python文件使用"wb"方式打开,写入字符串会报错,因为这种打开方式为:以二进制格式打开一个文件只用于写入.如果该文件已存在则将其覆盖.如果该文件不存在,创建新文件. 所以写入 ...
- Python 文件操作函数
这个博客是 Building powerful image classification models using very little data 的前期准备,用于把图片数据按照教程指示放到规定的文 ...
- python文件I/O(转)
Python 文件I/O 本章只讲述所有基本的的I/O函数,更多函数请参考Python标准文档. 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式.此函数把你 ...
- python 文件操作总结
Python 文件I/O 本章只讲述所有基本的的I/O函数,更多函数请参考Python标准文档. 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式.此函数把你 ...
- Python基础篇【第2篇】: Python文件操作
Python文件操作 在Python中一个文件,就是一个操作对象,通过不同属性即可对文件进行各种操作.Python中提供了许多的内置函数和方法能够对文件进行基本操作. Python对文件的操作概括来说 ...
- python文件和元组
python文件操作 相较于java,Python里的文件操作简单了很多 python 获取当前文件所在的文件夹: os.path.dirname(__file__) 写了一个工具类,用来在当前文件夹 ...
- Python文件基础
===========Python文件基础========= 写,先写在了IO buffer了,所以要及时保存 关闭.关闭会自动保存. file.close() 读取全部文件内容用read,读取一行用 ...
- python文件打包格式,pip包管理
1..whl是python文件的一种打包格式, 在有些情况下,可以将文件的后缀名改为.zip并解压 2.cmd中,提示pip版本太低,先升级pip pip install --upgrade pi ...
随机推荐
- Entity Framwork db First 中 Model验证解决办法。
由于项目中用到 Entity Framwork db First 每次从数据库生成数据模型之后都会把模型更新. 只要有一个表更新.所有的类都会重新生成. 在网上找了各种例子都是差不多的, 可能 ...
- python多线程机制
Python中的线程从一开始就是操作系统的原生线程.而Python虚拟机也同样使用一个全局解释器锁(Global Interpreter Lock,GIL)来互斥线程多Python虚拟机的使用. GI ...
- ReportViewer中设置ServerReport.ReportServerCredentials属性的方法
当使用SSRS技术来布置报表,可能使用MS自带的ReportViewer控件来读取报表. 它分为Web和Windows两种版本;此处Web版. ServerReport.ReportServerCre ...
- Java 二分查找
public int binarySearch(int[] nums, int target) { int low = 0; int high = nums.length; while (low &l ...
- NYOJ 491 幸运三角形
幸运三角形 import java.util.Scanner; public class Main{//搜索 static int sum=0,n; public static void main(S ...
- QML 语言基础
在<Qt Quick 简单介绍>中我们提到 QML 语法和 Json 相似,请參考<Qt on Android: http下载与Json解析>查看 Json 语法.当然这里我们 ...
- Directx 3D编程实例:多个3D球的综合Directx实例
最近朋友建议我写一些关于微软云技术的博客留给学校下一届的学生们看,怕下一届的MSTC断档.于是我也觉的有这个必要.写了几篇博客之后,我觉得也有必要把这一年的学习内容放在博客做个纪念,就这样写了本篇博客 ...
- 自我理解foreach工作原理
很多时候我们在使用for循环遍历一个数组的时候,我们都知道可以通过下标的索引找到当前数组中所对应的数据.这只对于简单的数组或集合,如果我们存储的数据不止只有数据项,还有一个标识项,就如同Has ...
- 解决PyGObject在pydev下报错的问题
使用PyGObject在eclispe+pydev下写代码,由于库是动态链接的,pydev无法识别,所以检查语法的时候会报错,但是并不影响代码运行. 不过对于我这样由轻微强迫症的患者来说,看见代码报错 ...
- [Angular 2] ng-class and Encapsulated Component Styles
import {Input, Component, View, NgClass} from "angular2/angular2"; @Component({ selector: ...