python学习05-文件操作

  文件操作分为读、写、修改,以什么模式存文件,就以什么模式编码打开文件。

打开文件的模式有:

  • r,只读模式(默认)。
# 以什么模式存文件,就以什么模式编码打开文件
# 示例一:r是文本只读模式
f = open(file=‘D:/工作/兼职联系信息.txt‘,mode=‘r‘,encoding=‘utf-8‘)  # 绝对路径访问
data = f.read()
f.close()

# 示例二:rb:二进制只读模式,无法指定encoding,因为在该模式下数据读到内存里直接是bytes格式,如要查看内容还需手动decode
f = open(file=‘兼职联系信息.txt‘, mode=‘rb‘)
  • w,只写模式。【不可读;不存在则创建;存在则删除内容;】
# w模式是创建新文件,如果文件存在则清空重写
f = open(file=‘兼职.txt‘,mode=‘w‘,encoding=‘gbk‘)
f.write(‘美女按摩服务,电话号:adfs123‘)
f.close()
  • a,追加模式。【可读;   不存在则创建;存在则只追加内容;】
# a是追加模式
f = open(‘兼职联系信息.txt‘, ‘ab‘)
f.write("\n白百何  北京  167  55  13523230322".encode("gbk"))   # 换行追加
f.close()

"+" 表示可以同时读写某个文件

  • r+,可读写文件。【可读;可写;可追加】
f = open(‘兼职联系信息.txt‘,‘r+‘,encoding="gbk")
data = f.read()
print("content",data)

f.write("\nnewline 1老师")
f.write("\nnewline 2老师")
f.write("\nnewline 3老师")
f.write("\nnewline 4老师")

print("new content", f.read())
# read不到结果,因为写入后光标已经移到末尾

f.close()
  • w+,写读
# 写读是以创建的模式打开(将原来的东西覆盖),可以读取写入的内容
f = open("兼职联系信息.txt",‘w+‘,encoding="gbk")
data = f.read()
print("content", data)

f.write("\nnewline 1学生")
f.write("\nnewline 2学生")
f.write("\nnewline 3学生")
f.write("\nnewline 4学生")

print("new content",f.read())

f.close()
  • a+,同a

"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)

  • rU
  • r+U

"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)

  • rb
# rb:二进制只读模式,无法指定encoding,因为在该模式下数据读到内存里直接是bytes格式,如要查看内容还需手动decode
f = open(file=‘兼职联系信息.txt‘, mode=‘rb‘)
  • wb
f = open(‘兼职2.txt‘,‘wb‘)  # 写二进制
f.write("美女陪聊!".encode("gbk"))
f.close()
  • ab
f = open(‘兼职联系信息.txt‘, ‘ab‘)
f.write("\n白百何  北京  167  55  13523230322".encode("gbk"))   # 换行追加
f.close()

  文件操作

f = open("兼职.txt",mode="r+",encoding="gbk")

f.fileno() # 返回文件句柄在内核中的索引值,做IO多路复用可以用到

f.flush()  # 把文件从内存buffer里强制刷新到硬盘

f.readable()  # 判断是否可读

f.readline()  # 只读一行,遇到\r  \n 为止

f.seek()      # 把操作文件的光标移到指定位置(按字节)
f.seek(0)     # 光标移动到文首

f.seekable()  # 判断文件是否可进行seek操作

f.tell()      # 返回当前文件操作光标位置(按字节)

f.truncate()  # 按指定长度截断文件(需要写权限),从光标当前位置开始往后截断
f.truncate(6) # 加上数字是从头开始截取6位字节

f.writable()  # 判断文件是否可写

f.read()      # 按字符,注意和tell和seek的区别

  文件修改

# 修改文件时,先移动光标到指定位置,向文件写入内容
f = open(file = ‘兼职模特联系方式.txt‘,mode=‘a‘,encoding=‘gbk‘)

f.write("安琪 170 50 13988888")
f.write("白雪 167 48 13324434")
f.write("刘琳 166 46 13828382")

f.seek(22)      # 移动光标到指定位置插入文件
f.write("\n")

f.seek(42)
f.write("\n")

f.seek(62)
f.write("\n")

f.seek(0)
f.read()

f.close()

  文件修改时占有硬盘,减少内存使用

mport os

f_name = "兼职模特联系方式.txt"

f_new_name = "%s.new" %f_name
old_str = "白雪"
new_str = "白百合"

f = open(f_name,mode=‘r‘,encoding=‘utf-8‘)
f_new = open(f_new_name,‘w‘,encoding=‘utf-8‘)

for line in f:
    if old_str in line:
        line = line.replace(old_str,new_str)

    f_new.write(line)
f.close()
f_new.close()

os.rename(f_new_name,f_name)    # 新文件替代旧文件

原文地址:https://www.cnblogs.com/xiugeng/p/8449710.html

时间: 2024-11-07 21:51:10

python学习05-文件操作的相关文章

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学习--day17-19 文件操作 r w a

python基础-文件操作   一.文件操作 对文件操作的流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件       打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作. 打开文件的模式有: r ,只读模式[默认模式,文件必须存在,不存在则抛出异常] w,只写模式[不可读:不存在则创建:存在则清空内容] x, 只写模式[不可读:不存在则创建,存在则报错] a, 追加模式[可读:   不存在则创建:存在则只追

PYTHON学习之文件操作;

文件内容替换for line in flielinput.input("filepath",inplace=1):line = line.repace("oldtext","newtext")print line, python中对文件.文件夹(文件操作函数)的操作需要涉及到OS模块和shutil模块.1.得到当前工作目录,即当前PYTHON脚本工作的目录路径:os.getcwd()2.返回指定目录下的所有文件和目录名:os.listdir()3

python 学习 D8 文件操作 常用操作方法 文件的改

文件操作初识 在d盘创建"护士空姐学生少妇联系方式"的txt 文件 path 文件路径:d:\护士空姐学生少妇联系方式.txtencoding编码方式:utf-8,gbk....mode 操作方式: 只读,只写,追加,读写,写读..... # f2 = open('护士学生空姐班主任.txt', encoding='utf-8') # print(f2.read()) # f1.close() 路径:绝对路径:从根目录开始一直找到文件. 相对路径:从当前目录开始找到的文件. 错误原因分

Python学习日记---文件操作

与文件操作有关函数: 1.打开一个文件open("文件名","打开方式") 打开方式归类: 模式 打开方式 文件存在 文件不存在 r 只读 打开文件 报错 w 只写 清空文件并打开 创建并打开 a 只写 打开并追加 创建并打开 r+ 读写 从文件开始读,或重写 报错 w+ 读写 清空并打开 创建并打开 a+ 读写 打开并追加 创建并打开 范例: iword.txt文件内容 First word Second word threed word oword.txt文件内

python学习_day07——文件操作

文件操作 一.操作文件三要素 1. 路径    #文件存放的具体位置的路径 2. 编码    #文件打开的的编码格式:utf-8 3. 模式 - rb:以字节的方式只读 obj = open('D:\美女模特空姐护士联系方式.txt',mode='rb') content = obj.read() obj.close() print(content,type(content)) #字节类型 - r: 读取utf-8编码数据,[转换]成unicode(str)编码的数据 #实例: obj=open

python 学习分享-文件操作篇

文件操作 f_open=open('*.txt','r')#以只读的方式(r)打开*.txt文件(需要与py文件在同一目录下,如果不同目录,需写全路径) f_open.close()#关闭文件 打开文件的模式有: 模式 描述 r 以只读方式打开文件.文件的指针将会放在文件的开头.这是默认模式. rb 以二进制格式打开一个文件用于只读.文件指针将会放在文件的开头.这是默认模式. r+ 打开一个文件用于读写.文件指针将会放在文件的开头. rb+ 以二进制格式打开一个文件用于读写.文件指针将会放在文件

python学习笔记文件操作(六)

1.文件操作流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 如下文件: 2017-03-24 11:25:06:349 - info: [debug] [AndroidBootstrap] Sending command to android: {"cmd":"shutdown"} 2017-03-24 11:25:06:355 - info: [debug] [AndroidBootstrap] Received command 

Python学习笔记——文件操作

python中,一切皆对象.   一.文件操作流程 (1)打开文件,得到一个文件句柄(对象),赋给一个对象: (2)通过文件句柄对文件进行操作: (3)关闭文件. 文件对象f通过open()函数来创建. open函数常用的三个参数:文件路径/名称.模式.encoding. 1 f = open('测试文件','r',encoding='utf-8') 2 print(f.read()) 3 f.close() 二.open函数中模式参数的常用值 值 描述 'r' 读模式 'w' 写模式 'a'

Python学习day7文件操作

文本操作 # 读取utf-8编码数据,[转换]成unicode(str)编码的数据 # obj = open('D:\美女模特空姐护士联系方式.txt',encoding='utf-8',mode='r') # content = obj.read() # obj.close() # print(content,type(content)) # obj = open('D:\美女模特空姐护士联系方式.txt',mode='rb') # content = obj.read() # obj.clo