标签:编码 print script 双引号 编码格式 file 数据表示 二进制 type
# 1 存储 txt 文件
data = ‘‘‘我是一个txt文件‘‘‘
# 存储的文件名:file=‘test.txt‘
# 文件打开方式:mode=‘a‘
# 编码格式:encoding=‘UTF-8‘
with open(file=‘test.txt‘,mode=‘a‘,encoding=‘UTF-8‘) as f :
f.write(data) # 保存内容
f.close() # 关闭文件
模式 | 描述 |
---|---|
r | r,以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 |
rb | rb,以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。 |
r+ | r+,打开一个文件用于读写。文件指针将会放在文件的开头。 |
rb+ | rb+,以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。 |
w | w,打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
wb | wb ,以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
w+ | w+, 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
wb+ | wb+,以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
a | a,打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
a+ | a+,打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 |
ab+ | ab+,以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 |
import csv # 导入csv模块
# 实例一:存储一行文件
info_1 = [‘name‘, ‘age‘, ‘sex‘]
info_2 = [‘老王‘, ‘30‘, ‘男‘]
# 存储的文件名:‘test_info.csv‘
# 文件打开方式:‘a‘
# 编码格式:encoding=‘ANSI‘,设置编码格式为ANSI可以避免Excel软件打开出现乱码的情况。
# newline=‘‘ ,如果不设置该参数,相邻两行之间会出现一行空格。
with open(‘test_info.csv‘, ‘a‘, encoding=‘ANSI‘, newline=‘‘)as f:
writer = csv.writer(f) # 调用csv库的 writer()方法初始化写入对象
writer.writerow(info_1) # 保存第一行数据
writer.writerow(info_2) # 保存第二行数据
name | age | sex |
---|---|---|
老王 | 30 | 男 |
import csv # 导入csv模块
# 实例二:存储字典形式的数据
info = {
‘name‘: ‘老王‘,
‘age‘: ‘30‘,
‘sex‘: ‘男‘,}
with open(‘test_info_2.csv‘,‘a‘,encoding=‘ANSI‘,newline=‘‘) as f:
fieldnames = [‘name‘, ‘age‘, ‘sex‘] # 设置文件的头部
writer = csv.DictWriter(f,fieldnames=fieldnames) # 使用DictWriter()方法初始化写入对象
writer.writeheader() # 首先写入文件的头部
writer.writerow(info) # 存储文件主要内容
import csv # 导入csv模块
# 实例三:存储多个字典形式的数据
info =[ {‘name‘: ‘老王‘,‘age‘: ‘30‘,‘sex‘: ‘男‘,},
{‘name‘: ‘老大‘,‘age‘: ‘1‘,‘sex‘: ‘男‘,},
{‘name‘: ‘老2‘, ‘age‘: ‘2‘, ‘sex‘: ‘女‘ },
{‘name‘: ‘老3‘, ‘age‘: ‘3‘, ‘sex‘: ‘男‘ }]
with open(‘test_info_2.csv‘,‘a‘,encoding=‘ANSI‘,newline=‘‘) as f:
fieldnames = [‘name‘, ‘age‘, ‘sex‘] # 设置文件的头部
writer = csv.DictWriter(f,fieldnames=fieldnames) # 使用DictWriter()方法初始化写入对象
writer.writeheader() # 首先写入文件的头部
writer.writerows(info) # 存储文件主要内容
# 注意:最后存储主要文件处使用的是:writerows() 方法,比储存单个文件多了一个s。
name | age | sex |
---|---|---|
老王 | 30 | 男 |
老大 | 1 | 男 |
老2 | 2 | 女 |
老3 | 3 | 男 |
import json # 导入json模块
info = ‘‘‘[
{"name": "老王","age": "30","sex": "男"},
{"name": "老大","age": "1","sex": "男"}
]‘‘‘
print(type(info)) # 先打印看看info的类型
# 输出内容:<class ‘str‘>
# 1. 把字符串转化为 json文件
info_1 = json.loads(info) # 把字符串转换为json文件
print(type(info_1)) # 打印新文件info_1的类型
print(info_1) # 打印info_1
# 输出内容:<class ‘list‘>
# 输出内容:[{‘name‘: ‘老王‘, ‘age‘: ‘30‘, ‘sex‘: ‘男‘}, {‘name‘: ‘老大‘, ‘age‘: ‘1‘, ‘sex‘: ‘男‘}]
# 2. 把json文件转化为字符串
info_2 = json.dumps(info_1) # 把字符串转换为json文件
print(type(info_2)) # 打印新文件info_2的类型
# 输出内容:<class ‘str‘>
import json # 导入json模块
info = ‘‘‘[
{"name": "老王","age": "30","sex": "男"},
{"name": "老大","age": "1","sex": "男"}
]‘‘‘
# 1.输出为json文件
with open(‘test_json.json‘,‘w‘) as f:
f.write(json.dumps(info)) #利用dumps()方法把json对象转为字符串,然后使用write()方法写入文件
# 2. 读取json文件
with open(‘test_json.json‘,‘r‘) as f:
str = f.read()
data = json.loads(str) #利用loads()方法把字符串转化,然后打印出来
print(data)
注意: Json 的字符串数据表示需要使用双引号,不能使用单引号,否则loads()方法会解析失败。
Python学习之旅-10-文件储存:txt文件、csv文件、json文件
标签:编码 print script 双引号 编码格式 file 数据表示 二进制 type
原文地址:https://www.cnblogs.com/jasontang369/p/9245935.html