文件的一套操作:
1.打开文件
file = open(“文件名”, “打开方式”)
打开方式 | 作用 |
---|---|
r | 以只读方式打开,若无文件则报错;若文件无指定打开方式,默认为只读 |
w | 以只写方式打开,若无文件,则先创建 |
a | 以追加方式打开,若无文件,则先创建 |
r+ | 以读写方式打开,文件指针位于文件开头 |
w+ | 以读写方式打开,有则覆盖,无则新建 |
a+ | 以读写方式打开,有则覆盖,无则新建 |
2.读取文件或写入文件
读取:file.read()
写入:file.write(“写入的内容”)
逐行读取:
其中的一个作用:
遇到特别大的文件时,一次性读取文件会对内存造成很大压力,因此可以使用逐行读取,进而操作。
while True:
get_line = file.readline()
if not get_line:
break
print(get_line)
3.关闭文件
对文件执行完操作之后一定要关闭文件。不然可能会导致资源耗尽或者死锁。
file.close()
一个例子:
file_name_1 = open("测试", "r") # 默认就是只读方式打开
file_name_2 = open("存储", "w")
file_name_2.write(file_name_1.read()) # 将读取内容写入到文件
# print(file_name)
# print(file_name.read())
"""
# 如果文件非常大,一次性读取文件会给内存造成很大压力
# 因此可以使用readline()逐行读取
# Python逐行读取和C++的getline()叫法不同,这里叫做readline()
while True:
get_file = file_name_1.readline()
if not get_file:
break
# print(file, end="")
file_name_2.write(get_file)
"""
file_name_1.close()
file_name_2.close()
另外:
想要在Python中对一个文件进行操作,可以使用import os导入os模块,进而可以进行文件的相关操作。
编码
ASCII:针对英文,占 1 个字节
UTF-8:几乎涵盖世界上所有文字,占 1-6 个字节,中文占 3 个字节
不同版本的Python解释器:
- python2.x:默认使用ASCII编码
- python3.x:默认使用UTF-8编码
Python2.x下python have_chinese.py:会报错如下,提示没有ASCII码为’\xe6’的字符
在Python2.x下使用含有中文的py文件
在.py文件开头添加
# *_* coding:utf8 *_*
对含有中文的字符串做处理:
原本:string = “hello世界” ===》修改为:string = u"hello世界"
eval()函数
形式:eval(“表达式”)
eval()函数可以解析传递的表达式,例如计算表达式、输出表达式表示的字符串、将字符串转化为列表元组字典等。
result = input("请输入一个表达式:")
print(eval(result))
# 输入(3 + 2) * 5 / 5
结果为5.0