python基础语法 007 文件操作-2文件支持模式&文件的内置函数

1.3 文件支持的模式

|-----|-------------------------------------------------------------------------------------------------------------------------------------|
| 模式 | 含义 |
| 'r' | open a file for reading(default) |
| 'w' | open a file for writing,creates a new file if it does not exist or truncates the file if it exists |
| 'x' | open a file foe exclusive creation. if the file already exists, the operation fails.独创模式,已经存在文件还写? 错误信息:fileexistserror:file wxists |
| 'a' | open for appending to the end of the file without truncating it ,creates a new file if it dose not exist |
| 't' | open in text mode (default) |
| 'b' | open in binary mode |
| '+' | open a file for updating (reading and writing) |

A、python中的open函数没有'rw' 这个参数,如果需要又读又写,可以使用 'r+' or 'w+' 来代替,否则会报下列错误

python 复制代码
file = open('new1_file', 'rw',encoding='utf-8')
file.write("url:/futureloan/mvc/api/member/register@mobile:18866668888@pwd:123456\n")
file.write("url:/futureloan/mvc/api/member/recharge@mobile:18866668888@amount:1000\n")
#读取数据
date = file.read()
file.close()



"""
ValueError: must have exactly one of create/read/write/append mode
"""

""" 改为:
file = open('new1_file', 'r+',encoding='utf-8')
"""

1.4 文件内置函数

1.4.1 readlines:

指:按行读取一个文本文件中的内容,并将每一行存储为一个字符串元素,最终返回一个包含所有元素的列表

python 复制代码
file = open('new1_file', 'r+',encoding='utf-8')
file.write("url:/futureloan/mvc/api/member/register@mobile:18866668888@pwd:123456\n")
file.write("url:/futureloan/mvc/api/member/recharge@mobile:18866668888@amount:1000\n")
data = file.readlines()
print(data)
file.close()


"""结果
['url:/futureloan/mvc/api/member/register@mobile:18866668888@pwd:123456\n', 'url:/futureloan/mvc/api/member/recharge@mobile:18866668888@amount:1000\n']

"""
python 复制代码
f = open("demo.txt",'w+',encoding='utf-8')
f.write('new line\n')
f.write('new2 line\n')
f.close()

"""
readlines() 读取每一行,会存放到列表当中,每一行的内容就是列表的一个元素
read() 得到的是一整个字符串
"""
f = open("demo.txt",'r',encoding='utf-8')
data = f.readlines()
print(data)

"""结果
['new line\n', 'new2 line\n']
"""

每个元素的末尾会存在\n, 怎么去除?

python 复制代码
"""
每个元素的末尾会存在\n

#分行打印时会把\n打印,
"""
#方法一
for line in data:
    print(line)

"""结果
new line

new2 line

"""

#方法二 去除\n
#strip 可以去除空格和换行
for line in data:
    print(line.strip())

"""结果
new line
new2 line
"""

#方法三 去除\n
for line, value  in enumerate(data):
    if line == len(data) -1:
        #最后一行
        print(value[:])
    else:
        #其他行
        print(value[:-1])

"""结果
new line
new2 line
"""

f.close()

1.4.2 tell / seek

指控制文件光标的操作

seek(1,2) :1表示光标移动的偏移量, 2表示相对的位置:0表示开始,1表示当前光标,2表示末尾

以字节来移动

1.4.3 with

防止忘记关闭文件

python 复制代码
"""
with 语句可以节省关闭文件的操作
"""
f = open("demo.txt")
f.read()
f.close()  # 该步骤容易遗忘

#打开文件,用f去接受
#上下文表达式
with open("demo.txt" ) as f:
    f.read()


#防止这样的书写
# f = open("demo.txt")
# f.read()
# f = open("demo.txt", 'w')
# f.write('hellp')
# f = open("demo.txt")
# f.read()

1.5 例子:

1.5.1 将文件中的内容读取

python 复制代码
#第一步打开文件
f = open("new_file.txt",encoding='utf-8')
data = f.read()
print(data)


#换行符分割 '\n'
new_data = data.split('\n')
print(new_data)
相关推荐
databook3 小时前
Manim实现闪光轨迹特效
后端·python·动效
Juchecar4 小时前
解惑:NumPy 中 ndarray.ndim 到底是什么?
python
用户8356290780515 小时前
Python 删除 Excel 工作表中的空白行列
后端·python
Json_5 小时前
使用python-fastApi框架开发一个学校宿舍管理系统-前后端分离项目
后端·python·fastapi
数据智能老司机11 小时前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机12 小时前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机12 小时前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机12 小时前
精通 Python 设计模式——性能模式
python·设计模式·架构
c8i12 小时前
drf初步梳理
python·django
每日AI新事件12 小时前
python的异步函数
python