python处理文件
2024-08-31 17:14:38
打开文件:
open是内建函数,一个方法
open("test.txt","r",buffering=1)
test.txt 表示被打开的文件名,如果不存在就创建一个,然后在打开。
r 打开模式
buffering 设置缓存模式。0表示不缓存;1表示缓存,比1 大时表示缓冲区的大小(单位字节)。
打开模式:
r 只读
r+ 读写
w 写入,覆盖在原来的上面,文件不存在,先创建。
w+ 读写
a 追加
a+ 读写方式
b 二进制方式打开
file是一个类,常用属性:
f=file("test.txt","r")
close() 关闭文件
flush() 把缓存区的内容写入磁盘
read() 默认读取全部 f.read(n) 读取n字节
readline() 读取一行
readlines() 将文件内容全部读到一个列表中。
seek() 移动指针 seek(0,2) 移到文件末尾
tell() 指针当前位置
write("hello") 将字符串写入文件
读取有三种方法:
readline() 每次只读取一行,要用循环读取文件,当指针移动到文件末尾时,用readline会报错,可以每次做一个判断,再执行读。
readline(n) 每次读n个字节
f=file("test.txt")
while True:
line=f.readline()
if line:
print line
else:
break
f.close()
readlines() 将文件内容全部读到一个列表中。要借助循环,读出没行内容。
f=open("test.txt")
lines=f.readlines()
for line in lines:
print line
f.close()
read() 将文件整个内容都读取出来,
f=file("test.txt")
context=f.read()
print context
f.close()
文件写入
write() 把字符串写入文件
f=open("test.txt","w")
f.write("hello,world!")
f.close()
writelines() 把列表中的内容写入文件,速度快,适合大量字符串
f=file("test.txt","w+")
list=["hello,world\n","hello,china\n"]
f.writelines(list)
f.close()
文件删除
os模块常用函数:
access(/path/to/file,mode) 以指定方式访问文件
chmod(/path/to/file,mode) 改变文件权限,
open(filename,mode) 以给定方式打开文件
remove(/path/to/file) 删除文件
rename(filename,new) 重命名
stat(filename) 返回文件所有属性
listdir(path) 以列表形式返回path目录中的文件
os.path常用函数:
abspath(filename) 返回绝对路径
dirname(filename) 返回文件目录
exists(filename) 判断文件是否存在
isabs(path) path是绝对路径
isfile(filename) filename存在
isdir(path) path是一个目录
join(path1,path2) 多个路径组合后返回
getsize(filename) filename的大小(字节)
getatime(filename) filename所指向的文件的最后存取时间
getmtime(filename) filename所指向的文件的最后修改时间
splitext(filename) 返回文件后缀名
改当前目录文件后缀名
import os
files=os.listdir(".")
for filename in files:
file=os.path.splitext(filename)
if file[1] == ".html":
newname = file[0] + ".htm"
最新文章
- 运用Python成为黑客
- 为ecshop红包增加”转赠”功能
- ubuntu下openoffice开发环境配置
- CMSIS RTOS -- embOS segger
- Relearning PHP (2) – php 的浮点数float
- 浅谈Linux的内存管理机制
- [妙味JS基础]第六课:作用域、JS预解析机制
- php运算时默认的类型转换
- Apache中的gzip压缩作用及配置
- haproxy实现会话保持(2):stick table
- java 将mysql中Blob类型转为字符串或数字
- Go语言下的线程模型
- Jenkins+PowerShell持续集成环境搭建(四)常用PowerShell命令
- js获取url参数,直接获取url中文
- Visual C++ 8.0对象布局
- 如何在windows下Apache环境开启htaccess伪静态功能
- 前端自动分环境打包(vue和ant design)
- Java操作Mongodb(转载)
- Python正则表达式-基础
- Swift教程之运算符重载
热门文章
- Spark修炼之道(高级篇)——Spark源代码阅读:第十二节 Spark SQL 处理流程分析
- vue12 循环添加重复数据
- Android开发之蓝牙(Bluetooth)操作(一)--扫描已经配对的蓝牙设备
- VC眼中的众筹平台:将改变VC募集基金方式,成为下一个纳斯达克市场
- C#解决System.Security.Cryptography.MD5.Create()调用的目标发生了异常)的问题
- Python正则表达式初识(八)
- C++入门之HelloWorld
- BZOJ3130: [Sdoi2013]费用流(二分,最大流)
- 51nod 编辑距离 + 滚动数组优化
- snmpd修改端口