python入门系列:文件操作

操作模式

r

"""
以只读方式打开文件(默认),文件的指针会放在文件的开头
若文件不存在,会报错
"""
f = open("a.txt", "r") # 在同级目录下打开文件
content = f.read()
print(content)
w

"""
以只写方式打开文件,文件的指针也在文件开头,进行覆盖写入(先清空后写入)
若文件不存在,会创建一个新的文件
"""
f = open("a.txt", "w")
f.write("66666")
a

与 w唯一不同的是,文件的指针会放在文件的末尾

增加b操作

"""
以二进制的方式进行文件操作 rb, wb, ab
将一张图片的一半内容写入到另外一个图片中
第二章图片可以打开浏览,是只有第一张一半的内容,还是图片质量下降呢?大家可以试一下
"""
fromFile = open("pic.jpg", "rb")
content = fromFile.read()
fromFile.close()
writeLen = len(conten) // 2
toFile = open("pic2.jpg", "wb")
toFile.write(content[0:writeLen])
toFile.close()
文件指针的定位

"""
seek(offset, whence=0)
whence表示指定文件指针所在的位置
whence=0:文件开始处,offset >= 0
whence=1:当前的位置,offset is free
whence=2:文件结尾处,offset <= 0
但是对于不带 b的文件操作,whence只能为 0
"""
f = open("a.txt", "r") # 当前文件内容:12345678
print(f.tell()) # 获得当前文件指针的位置 0
f.seek(2) # 向后移动两个单位
print(f.tell()) # 2
print(f.read()) # 345678
print(f.tell()) # 8
文件读操作

f.read(length):

length默认是文件所有内容的长度,文件指针自动向后移动

f = open("a.txt", "r") # 文件内容:12345
content = f.read(2)
print(content) # 12
print(f.tell()) # 4
readline(limit):

读取一行数据,会读入文件中的换行符

limit:限制的最大字符数

f = open("a.txt", "r") # 文件内容:123
456

print(f.readline(), end=‘‘) # 123
print(f.readline(), end=‘‘) # 456
readlines():

按照换行符对文件内容进行处理,处理好的每一行组成一个列表返回

f = open("a.txt", "r") # 文件内容:123
456

printf(f.readlines()) # [‘123
‘, ‘456
‘]
遍历

直接遍历文件

f = open("a.txt", "r")
for i in f:
print(i, end=‘‘)

遍历 readlines()的结果

lines = f.readlines()
for line in f:
print(line, end=‘‘)
文件关闭

释放系统资源
将内存缓冲区中的内容同步到磁盘中
文件写入内容时,并不是立即写入到磁盘文件,而是在对应的内存缓冲区做修改,当文件关闭时,再一次性将这些修改拷贝到磁盘。
f.flush() 可以强制刷新内容到磁盘。
其他操作

依赖于os模块
重命名

import os
os.rename("b.txt", "a.txt") # 更改文件名称
os.rename("dir1", "dir2") # 更改目录名称
删除

import os
os.remove("b.txt") # 删除 b.txt
os.rmdir("dir1/dir2") # 删除了 dir2目录,若目录不为空,则无法删除
os.rmdirs("dir1/dir2") # 递归删除,若dir1为空,也删除
创建目录

import os

mkdir(path, mode) # mode=0o777 //权限设定方式参照 Linux

os.mkdir("dir1") # 一次只能创建一个目录,不能递归创建多个目录
路径相关操作

os.getcwd() 获得当前的目录

os.chdir() 改变当前所在路径

os.listdir() 获得目录下文件列表

文件相关案例

文件复制

import os

只读模式,打开要复制的文件

追加模式,打开副本文件

scr_file = open("d.txt", "r", encoding="utf-8")
obj_file = open("d_copy.txt", "w", encoding="utf-8")

从源文件中读取内容,写入到目标文件

while True:
content = scr_file.read(1024) # 如果文件过大,分块写入
if not content:
break
else:
obj_file.write(content)

关闭源文件和目标文件

scr_file.close()
obj_file.close()
文件分类,生成文件清单

import os
file_list = os.listdir(".")
res = {}
for file in file_list:
if "." not in file: # 排除掉目录
continue
appendix = file.split(".")[-1] # 获得扩展名

if appendix not in res:
res[appendix] = []

res[appendix].append(file)
print(res)
注:喜欢python + qun:839383765 可以获取Python各类免费最新入门学习资料!

原文地址:http://blog.51cto.com/14186420/2349769

时间: 2024-10-10 07:49:17

python入门系列:文件操作的相关文章

小猿圈python入门之文件操作

学习知识要善于思考,思考,再思(考).我就是靠这个方法成为科学家的.——爱因斯坦 open() 方法 Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError. 注意:使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法. open() 函数常用形式是接收两个参数:文件名(file)和模式(mode). 一般用法:open(file,mode="r") 完整的语法格式

Python学习之--文件操作

Python中对文件操作可以用内置的open()函数 读文件 f=open('/home/test/test.txt','r') # 读模式打开文件 f.read() # 读取文件内容 除了正常的读取文件内容,一个常用的操作是判断文件内容是否为空,如下: if len(f.read())==0: # 如果文件内容为空 xxxx 判断一个文件或者路径是否存在,如下(这里需要在代码中导入os module: import os): file='/home/test/test.txt' dir='/h

python解析xml文件操作的例子

python解析xml文件操作实例,操作XML文件的常见技巧. xml文件内容: <?xml version="1.0" ?> <!--Simple xml document__chapter 8--> <book> <title> sample xml thing </title> <author> <name> <first> ma </first> <last>

python入门系列:函数

引言 将一段代码集中到一块,起一个名字,下次可以根据这个名字再次使用这个代码块.作用:方便代码重用分解任务,简化程序逻辑使代码更加模块化函数的参数 所有的传参方式都是传引用,注意列表做参数和数值做参数容易出现的问题. 单个参数 多个参数 定义方式 def funName(arg1, arg2, arg3...):pass 调用方法 funName(arg1, arg2, arg3...) # 形参和实参一一对应funName(arg2=v2, arg3=v3, arg1=v1) # 指明形参的名

python入门系列:面向对象

类和对象的创建 类 经典类 没有继承 object的类 新式类 继承了 object的类 class Money: # 2.x中默认是经典类,3.x中是新式类pass class Money(object): # 兼容的一种写法pass Money既是类的name属性名,又是一个引用该类的变量 print(Money.name) # Moneyxxx = Moneyprint(xxx.name) # Money对象 one = Money()print(one) # <main.Money ob

Python之路-文件操作(py)

文件操作的基本步骤: 1.打开文件:f=open('filename'),with open('filename') as f 2.操作文件:增,删,改,查 3.关闭文件:f.close 打开文件 python中打开文件的函数为open('filename',mode='r',encode='utf-8'),open函数默认返回文件的句柄,我们可以根据句柄来对文件进行增,删,改,查的操作.将句柄赋给我们定义的变量,假设我们定义变量为f,则f=open('filename',mode='r',en

python中的文件操作open()函数

文件操作: 1.关于open 模式: r     以读方式打开,    f=open(r"C:\Users\shaopeng\Desktop\py_homework\DAY6\readme.txt","r") w     以写方式打开,  如果文件存在则会清洗掉原文件的内容,然后把写的东西写进新文件 f=open(r"C:\Users\shaopeng\Desktop\py_homework\DAY6\readme.txt","w&qu

python学习之路-3 初始python数据类型以及文件操作

本篇所涉及的内容 set集合 函数 三元运算 ?文件操作 set集合 set是一个无序的且不重复的元素集合 1.创建set集合的方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 # 第一种方法 s = set() print(type(s))           # 输出 <class 'set'>                   # 第二种方法 s = {1, 2} print

python(day1) -文件操作

很多时候我们需要对文件进行一些操作,比如读取并分析日志文件,写入日志文件等等.显然python也内置了对文件进行操作的函数. 读文件: >>> f = open('a.log','r') 这样就打开了一个文件,'r'表示读.当然 还有其它打开方式: 'w' :表示写入,如果文件不存在,则创建,如果存在则覆盖 'a'  :表示追加 >>> f.read() '2015-12-14 15:34:57 ' >>> file = f.read() >&g