打开和关闭文件

open 函数

用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写 '''

模式    描述
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
'''

open函数,创建一份files文件

# eg_v1
files = open("file.txt","w") # "w"
files.write("hello,welcome to python !!") # 在file.txt文本内输入内容
files.close()

  

文件读取,read 方法

read()方法从一个打开的文件中读取一个字符串。需要重点注意的是,Python字符串可以是二进制数据

# eg_v2
files_v2 = open("file.txt","r")
print (files_v2.read(20))
files_v2.close() # >>> hello,welcome to pyt # 读取20个字符
# read()) 表示读取全部内容
# readline( ) 表示逐行读取

  

追加文件内容

# eg_v3
files_v3 = open("file.txt","a")
files_v3.write("\npython is very nice!!")
files_v3.close()

  

file 文件的属性

# 属性	描述
# file.closed 返回true如果文件已被关闭,否则返回false。
# file.mode 返回被打开文件的访问模式。
# file.name 返回文件的名称。
# file.softspace 如果用print输出后,必须跟一个空格符,则返回false。否则返回true。
#eg_v4
print (files_v3.closed) # 检查文件是否已经关闭
# >>> True
print (files_v3.mode) # 返回被打开文件的访问模式
# >>> a
print (files_v3.name) # 返回文件的名称。
# >>> file.txt

  

write 方法

files_v4 = open("file.txt","a")
files_v4.write("\nbut,Not easy to learn")
files_v4.close()

write()方法可将任何字符串写入一个打开的文件。需要重点注意的是,Python字符串可以是二进制数据 #write()方法不会在字符串的结尾添加换行符('\n')


文件定位

tell() 方法告诉你文件内的当前位置

seek(offset [,from])方法改变当前文件的位置,Offset 变量表示要移动的字节数,From 变量指定开始移动字节的参考位置

files_v5 = open("file.txt","r")
files_v5.read(10)
print (files_v5.tell()) # 当前指针位置
# >>> 10 files_v5.seek(0,0) # 将指针重定位
print (files_v5.tell()) # 当前指针位置
# >>> 0
files_v5.close()

  

文件重命名

文件重命名需要使用python的os模块

rename() 方法,需要两个参数,当前的文件名和新文件名。

#
import os
os.rename("file.txt","file001.txt")

  

删除文件

#
import os
os.remove("file001.txt")

remove()方法.语法:os.remove(file_name)


file 文件对象常用的函数

# 序号	方法及描述
# 1 file.close() 关闭文件。关闭后文件不能再进行读写操作。
# 2 file.flush() 刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。
# 3 file.fileno() 返回一个整型的文件描述符(file descriptor FD 整型), 可以用在如os模块的read方法等一些底层操作上。
# 4 file.isatty() 如果文件连接到一个终端设备返回 True,否则返回 False。
# 5 file.next() 返回文件下一行。
# 6 file.read([size]) 从文件读取指定的字节数,如果未给定或为负则读取所有。
# 7 file.readline([size]) 读取整行,包括 "\n" 字符。
# 8 file.readlines([sizehint]) 读取所有行并返回列表,若给定sizeint>0,返回总和大约为sizeint字节的行, 实际读取值可能比sizhint较大, 因为需要填充缓冲区。
# 9 file.seek(offset[, whence]) 设置文件当前位置
# 10 file.tell() 返回文件当前位置。
# 11 file.truncate([size]) 截取文件,截取的字节通过size指定,默认为当前文件位置。
# 12 file.write(str) 将字符串写入文件,没有返回值。
# 13 file.writelines(sequence) 向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。

  

python 文本处理操作的更多相关文章

  1. Python :open文件操作,配合read()使用!

    python:open/文件操作 open/文件操作f=open('/tmp/hello','w') #open(路径+文件名,读写模式) 如何打开文件 handle=open(file_name,a ...

  2. 嵌入式 python之str操作

    1.字符串的对齐方式:①:center(int[,str])>>> string = 'Fishhat'>>> string.center(55)'         ...

  3. python sqlite3 数据库操作

    python sqlite3 数据库操作 SQLite3是python的内置模块,是一款非常小巧的嵌入式开源数据库软件. 1. 导入Python SQLite数据库模块 import sqlite3 ...

  4. python文本 单独处理每个字符的方法汇总

    python文本 单独处理字符串每个字符的方法汇总 场景: 用每次处理一个字符的方式处理字符串 方法: 1.使用list(str) >>> a='abcdefg'    >&g ...

  5. Python文本数据分析与处理

    Python文本数据分析与处理(新闻摘要) 分词 使用jieba分词, 注意lcut只接受字符串 过滤停用词 TF-IDF得到摘要信息或者使用LDA主题模型 TF-IDF有两种 jieba.analy ...

  6. 孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容

     孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.打开文件后,要务必记得关闭,所以一般的写法应当 ...

  7. [python] 网络数据采集 操作清单 BeautifulSoup、Selenium、Tesseract、CSV等

    Python网络数据采集操作清单 BeautifulSoup.Selenium.Tesseract.CSV等 Python网络数据采集操作清单 BeautifulSoup.Selenium.Tesse ...

  8. python中文件操作的六种模式及对文件某一行进行修改的方法

    一.python中文件操作的六种模式分为:r,w,a,r+,w+,a+ r叫做只读模式,只可以读取,不可以写入 w叫做写入模式,只可以写入,不可以读取 a叫做追加写入模式,只可以在末尾追加内容,不可以 ...

  9. Python文本转化语音模块大比拼,看看青铜与王者的差别!

    文本转语音 如果把Python比喻成游戏中的一个英雄,你觉得它是谁?对于Dota老玩家来说,我会想到钢琴手卡尔!感觉Python和卡尔一样,除了生孩子什么都可以做的角色.日常生活中,我们会涉及到很多语 ...

随机推荐

  1. Git文件常见下标符号说明

    Git文件常见下标符号说明 git是一种分布式的版本控制工具.     不用联网也能实现版本控制,很实用. 它是一款现在比较流行的版本控制工具. git的文件上的图标,可以反映出当前文件或者文件夹的状 ...

  2. YApi 部署记录

    YApi 是一个可本地部署的.打通前后端及QA的.可视化的接口管理平台. Step1:准备Mongo数据库 services: mongo: image: mongo restart: always ...

  3. Mesos:数据库使用的持久化卷

    摘要: Mesos为很多不同的用户场景都提供了精妙的,考虑周全的API.持久化卷是由新的acceptOffers API引入的特性.持久化卷让用户可以为Mesos构建数据库框架,Mesos可以在任何不 ...

  4. Galera Cluster mysql+keepalived集群部署

    1.卸载mysql 查找本机安装的mysqlrpm -qa | grep -i mysql --nodeps --force rpm -ev MySQL-server-5.6.15-1.el6.x86 ...

  5. 方差+标准差+四分位数+z-score公式

    一.方差公式 $S^2 = \frac{1}{N}\sum_{i=1}^{N}(X_i - \mu)^2 = \frac{1}{N}[(X_1-\mu)^2 + (X_2-\mu)^2 + ... + ...

  6. SIP消息

    SIP消息有两种类型:从客户机到服务器的请求消息(Request)和从服务器到客户机的响应消息(Response). 呼叫控制请求: --INVITE:发起呼叫,并对会话进行描述 --ACK:主叫确认 ...

  7. CAutolock

    顾名思义CAutolock就是自动锁的意思,它可以把它之下的代码区锁住一直到其自身被释放掉    后这块代码区中的公共资源才会被其他线程使用.当然这个代码区能尽量少就尽量少,毕竟不能让其他线    程 ...

  8. oracle 11g R2(静默安装)

    参考博客地址:https://blog.csdn.net/jameshadoop/article/details/48223645 https://www.abcdocker.com/abcdocke ...

  9. ThreadPool study

    线程池浅析 线程池顾名思义就是放线程的池子 Thread Pool. 那么为什么要有线程池呢?有些时候系统需要处理非常多的执行时间很短的请求,如果每一个请求都开启一个新的线程,则系统创建销毁线程的开销 ...

  10. jq 监听调整浏览器窗口的大小

    <html><head><script type="text/javascript" src="http://www.w3school.co ...