python 文件操作

文件操作

现有以下文件

啦啦啦,啦啦啦…
嘘,别说话
当你把你的毒液,保持它关闭我恨它
当你发出嘶嘶声,传
你的新的救世主,因为你的理论着火
我找不到那些银色的衬里
我不想评判
但当你阅读你的演讲,很累
够了够了
我捂住耳朵像个孩子
当你的话毫无意义,我会啦啦啦
我关掉音量说话的时候
如果我的心不停下来,我找到一种方法来阻止它
我去
啦啦啦,啦啦啦…
啦啦啦,啦啦啦…
我找到一种方法来阻止它
我去
啦啦啦,啦啦啦…
啦啦啦,啦啦啦…
我们的爱是没有时间了
我不算时间,而做一个懦夫
当我们的言语冲撞
我要把你淹没之前,我失去了我的心
我找不到那些银色的衬里
我不想评判
但当你阅读你的演讲,很累
够了够了
我捂住耳朵像个孩子
当你的话毫无意义,我会啦啦啦
我关掉音量说话的时候
如果我的心不停下来,我找到一种方法来阻止它
我去
啦啦啦啦啦…
啦啦啦啦啦…
我找到一种方法来阻止它
我去
啦啦啦啦啦…
啦啦啦啦啦…
我找到一种方法来阻止你,哦
啦啦啦啦啦…
啦啦啦啦啦…
我找到一种方法来阻止它
我去
啦啦啦啦啦…
啦啦啦啦啦…
我捂住耳朵像个孩子
当你的话毫无意义,我会啦啦啦
我关掉音量说话的时候
如果我的心不停下来,我找到一种方法来阻止它
我去
我捂住耳朵像个孩子
当你的话毫无意义,我会啦啦啦
我关掉音量说话的时候
如果我的心不停下来,我找到一种方法来阻止它
我去
啦啦啦啦啦…
啦啦啦啦啦…
啦啦啦啦啦…
歌词

打开文件

file = open("test.txt","r",encoding="utf-8")# 打开文件
print(file.read())# 读取文件
file.close()# 关闭文件

文件模式

r   只读模式 

w  只写模式 不可读;不存在则创建;存在则删除内容,

a   可读,不存在则创建;存在则只追加内容

r+  可读;可写;可追加

w+  可读,可写(会覆盖),不存在创建

a+  可读可写, 追加 

rb  rb+ wb+ ab+ 同上,二进制流的方式操作文件 

文件读取

# file = open("test.txt", "r", encoding="utf-8")
# data = file.read() # 读取所有
# data = file.read(3) # 读取三个字符
# data = file.readlines() # 读取所有成列表,以\n为每个值的结束符
# data = file.readline()  # 读取一行
# data = file.readline()  # 读取一行
# print(data)
# 迭代器方式,最快,
# for i in file:
#     print(i)
# print(file.tell())# 获取当前光标位置,字节长度
# file.seek(7)# 移动光标到指定位置,字节长度
# file.seek(7,2)# whence:可选,默认值为 0。给offset参数一个定义,表示要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。
# data = file.readline()  # 读取一行
# print(data)
# file.close()
# 文件管理器 免去忘记f.close()方法
with open("test.txt", "r", encoding="utf-8") as f:
    print(f.read())

 文件写入

file = open("test.txt","w",encoding="utf-8")
file.write("asdlkasdfsdf\n")
file.write("asdlkasdfsdf\n")
file.write("asdlkasdfsdf\n")
file.close()

 内置模块 os

# os.rename("test.txt", "修改文件.txt")  # 将test.txt文件修改为修改文件.txt
# os.remove("test.txt")  # 删除test.txt文件
# os.mkdir("tx")  # 创建tx文件夹
# Python的标准库中的os模块包含普遍的操作系统功能。如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在Linux和Windows下运行。

# os.sep可以取代操作系统特定的路径分隔符。windows下为 “\\”
# os.name字符串指示你正在使用的平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'。
# 
# 
# os.getcwd()函数得到当前工作目录,即当前Python脚本工作的目录路径。
# 
# os.getenv()获取一个环境变量,如果没有返回none
# 
# os.putenv(key, value)设置一个环境变量值
# 
# os.listdir(path)返回指定目录下的所有文件和目录名。
# 
# os.remove(path)函数用来删除一个文件。
# 
# os.system(command)函数用来运行shell命令。
# 
# os.linesep字符串给出当前平台使用的行终止符。例如,Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'。
# 
# os.curdir:返回当前目录('.')
# os.chdir(dirname):改变工作目录到dirname
# 
# ========================================================================================
# 
# os.path常用方法:
# 
# os.path.isfile()和os.path.isdir()函数分别检验给出的路径是一个文件还是目录。
# 
# os.path.exists()函数用来检验给出的路径是否真地存在
# 
# os.path.getsize(name):获得文件大小,如果name是目录返回0L
# 
# os.path.abspath(name):获得绝对路径
# os.path.normpath(path):规范path字符串形式
# 
# os.path.split(path) :将path分割成目录和文件名二元组返回。
# 
# os.path.splitext():分离文件名与扩展名
# 
# os.path.join(path,name):连接目录与文件名或目录;使用“\”连接
# os.path.basename(path):返回文件名
# os.path.dirname(path):返回文件路径
file = open("test.txt", "r", encoding="utf-8")
# data = file.read() # 读取所有
# data = file.read(3) # 读取三个字符
# data = file.readlines() # 读取所有成列表,以\n为每个值的结束符
# data = file.readline() # 读取一行
# data = file.readline() # 读取一行
# print(data)
# 迭代器方式,最快,
# for i in file:
# print(i)
print(file.tell())# 获取当前光标位置,字节长度
file.seek(7)# 移动光标到指定位置,字节长度
file.seek(7,2)# whence:可选,默认值为 0。给offset参数一个定义,表示要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。
data = file.readline() # 读取一行
print(data)
file.close()
原文地址:https://www.cnblogs.com/HeavyShield/p/10766144.html