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")#换路径

05-06 21:22
查看更多