打开和关闭文件

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. RuntimeException: Type "nmethodBucket*", referenced in VMStructs::localHotSpotVMStructs in the remot

    问题:使用jmap命令查看某个进程的堆情况时(jmap -heap 198376),抛异常如下: Attaching to process ID 198376, please wait...Excep ...

  2. nginx出现 “414 request-uri too large”

    nginx出现 “414 request-uri too large” 在请求查询的时候使用了Get方法,由于拼接的url过长,导致nginx出现了“414 request-uri too large ...

  3. Go etcd初探

    1.etcd集群的配置 SET IP1_2380=http://127.0.0.1:2380 SET IP1_2379=http://127.0.0.1:2379 SET IP2_2380=http: ...

  4. 在php cli下可以使用 STDIN 来实现标准输入

    简单的例子:  echo "请输入一个数字:";  $num = trim(fgets(STDIN)); echo "请再输入一个数字:";  $num1 =  ...

  5. eclipse反编译不起作用

    今天用eclipse安装反编译插件,分别按百度安装了好几个,但是都没起到作用.想想可能是因为我的eclipse是现在最新的版本,可能以前的方法不适用了,所以就自己折腾了一下.以下为教程: 1.首先我的 ...

  6. CF3A Shortest path of the king

    The king is left alone on the chessboard. In spite of this loneliness, he doesn't lose heart, becaus ...

  7. 巧用border效果

    目的: 我们在做css的时候为了提高网站的效率减少服务器请求,我们可以通过css来实现一些简单的图片特效,比如说三角形,这篇文章讲解的是通过边框实现不同的效果. 上面样式部分代码: <style ...

  8. Python学习之旅(三十三)

    Python基础知识(32):网络编程(Ⅰ) 网络通信是两台计算机上的两个进程之间的通信,而网络编程就是如何在程序中实现两台计算机的通信 P协议负责把数据从一台计算机通过网络发送到另一台计算机 TCP ...

  9. 【转载】python抓取网页时候,判断网页编码格式

    在web开发的时候我们经常会遇到网页抓取和分析,各种语言都可以完成这个功能.我喜欢用python实现,因为python提供了很多成熟的模块,可以很方便的实现网页抓取.但是在抓取过程中会遇到编码的问题, ...

  10. .NET Core 的 Span<T> 学习与使用笔记

    一.阅读材料 All About Span: Exploring a New .NET Mainstay Span<T> - byte to int conversions Span< ...