打开文件:

    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"

最新文章

  1. 运用Python成为黑客
  2. 为ecshop红包增加”转赠”功能
  3. ubuntu下openoffice开发环境配置
  4. CMSIS RTOS -- embOS segger
  5. Relearning PHP (2) – php 的浮点数float
  6. 浅谈Linux的内存管理机制
  7. [妙味JS基础]第六课:作用域、JS预解析机制
  8. php运算时默认的类型转换
  9. Apache中的gzip压缩作用及配置
  10. haproxy实现会话保持(2):stick table
  11. java 将mysql中Blob类型转为字符串或数字
  12. Go语言下的线程模型
  13. Jenkins+PowerShell持续集成环境搭建(四)常用PowerShell命令
  14. js获取url参数,直接获取url中文
  15. Visual C++ 8.0对象布局
  16. 如何在windows下Apache环境开启htaccess伪静态功能
  17. 前端自动分环境打包(vue和ant design)
  18. Java操作Mongodb(转载)
  19. Python正则表达式-基础
  20. Swift教程之运算符重载

热门文章

  1. Spark修炼之道(高级篇)——Spark源代码阅读:第十二节 Spark SQL 处理流程分析
  2. vue12 循环添加重复数据
  3. Android开发之蓝牙(Bluetooth)操作(一)--扫描已经配对的蓝牙设备
  4. VC眼中的众筹平台:将改变VC募集基金方式,成为下一个纳斯达克市场
  5. C#解决System.Security.Cryptography.MD5.Create()调用的目标发生了异常)的问题
  6. Python正则表达式初识(八)
  7. C++入门之HelloWorld
  8. BZOJ3130: [Sdoi2013]费用流(二分,最大流)
  9. 51nod 编辑距离 + 滚动数组优化
  10. snmpd修改端口