Python文件操作
Posted kubernets
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python文件操作相关的知识,希望对你有一定的参考价值。
Python文件操作
数据的存储可以使用数据库,也可以使用文件, 数据库保持了数据的完整性和关联性,使数据更安全,可靠,使用文件存储则非常简单和易用
文件通常用于存储应用软件的参数或临时性数据
python提供了文件常用操作有打开文件,读写文件,删除文件等
文件打开
python中使用open()函数对文件进行打开
文件的打开模式包含以下:
参数 描述
r 以只读的方式打开文件
r+ 以读写的方式打开文件
w 以写入的方式打开文件,先删除文件原有的内容,再宠幸写入新的内容,如果文件不存在,则创建1个新的文件
w+ 以读写的方式打开文件,先删除文件原有的内容,再宠幸写入新的内容,如果文件不存在,则创建1个新的文件
a 以写入的方式打开文件,在文件末尾追加新的内容,如果文件不存在,则创建1个新的文件
a+ 以读写的方式打开文件,在文件末尾追加新的内容,如果文件不存在,则创建1个新的文件
b 以二进制打开文件
文件处理包含3个步骤:
1. 创建并打开文件
2. 调用read(), write()方法处理文件
3. 使用close() 关闭文件,释放资源
###为了防止在打开文件操作后忘记关闭文件,可以直接在打开文件时加上with,这样程序会在我们操作完文件后对文件自动关闭
with open(filename)
文件读取
readline方法
readline()方法每次读取文件中一行
readlines()方法
使用readlines()读取文件,通过循环访问readlines()返回列表的元素,
read方法
read()一次性读出所有内容
实例:
with open(‘pi_digits.txt‘) as file_object:
contents = file_object.read()
print(contents.rstrip())
filename = ‘pi_digits.txt‘
with open(filename) as file_object:
lines = file_object.readlines() ##将文件各行存储在一个列表中
for line in lines: ##对列表内容进行遍历
print(line.rstrip())
f = open("test.txt")
while True: ##因为readline每读取文件中的一行,需要使用永真表达式循环读取文件
ine = f.readline()
if line:
print(line)
else:
break
f.close()
文件写入
write()方法把字符串写入文件
writelines()方法把列表中存储内容写入文件
实例:
filename = ‘programming.txt‘
with open(filename,‘w‘) as file_object:
ile_object.write("i love programming.")
写入多行
filename = ‘programming.txt‘
with open(filename,‘w‘) as file_object:
file_object.write("i love programming.\n")
file_object.write("i love creating new games.\n")
追加写入
filename = ‘programming.txt‘
with open(filename,‘a‘) as file_object:
file_object.write("i also love finding meaning in large datasets.\n")
file_object.write("i love creating apps that run in a browser.\n")
执行结结果:
[[email protected] day04]# cat programming.txt
i love programming.
i love creating new games.
i also love finding meaning in large datasets.
i love creating apps that run in a browser.
writelines()方法
f = file("hello.txt","w+")
li = ["hello world\n","hello china\n"]
f.writelines(li) ##将列表写入
f.close()
以上是关于Python文件操作的主要内容,如果未能解决你的问题,请参考以下文章