print()--打印输出
语法
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
参数
- objects -- 复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。
- sep -- 用来间隔多个对象,默认值是一个空格。
- end -- 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串。
- file -- 要写入的文件对象。
- flush -- 输出是否被缓存通常决定于 file,但如果 flush 关键字参数为 True,流会被强制刷新。
input() --读取输入
语法
input([prompt])#接受一个标准输入数据,返回为 string 类型。
参数
- prompt --提示信息
open() --打开文件
语法
file object = open(file_name [, access_mode][, buffering])
参数
- file_name:file_name变量是一个包含了你要访问的文件名称的字符串值。
- access_mode:access_mode决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。
- buffering:如果buffering的值被设为0,就不会有寄存。如果buffering的值取1,访问文件时会寄存行。如果将buffering的值设为大于1的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。
access_mode的不同模式
模式 | 描述 |
---|---|
t | 文本模式 (默认)。 |
x | 写模式,新建一个文件,如果该文件已存在则会报错。 |
b | 二进制模式。 |
+ | 打开一个文件进行更新(可读可写)。 |
U | 通用换行模式(不推荐)。 |
r | 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 |
rb | 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。 |
r+ | 打开一个文件用于读写。文件指针将会放在文件的开头。 |
rb+ | 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。 |
w | 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 |
wb | 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。 |
w+ | 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 |
wb+ | 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。 |
a | 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
ab | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
a+ | 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 |
ab+ | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 |
文件写入操作
'''
f=open("./dara.txt",mode='w')
f.write("hello")
f.close()
'''
with open("./dara.txt",mode='w') as f:
f.write("hello")
f.writelines(["hello","world"])
文件读取操作
with open("./dara.txt", mode="r", encoding="utf8") as f:
#line = f.read()
lines = f.readlines()
print(lines)
csv文件读写
csv模块中的reader类和writer类可以读写序列化数据,也可以使用DictReader类和DictWriter类以字典形式读写数据
文件写入操作
import csv
with open('./data.csv', mode='w', newline="", encoding='utf8') as file:
fw = csv.writer(file)
fw.writerow("abcdefgh") # a,b,c,d,e,f,g,h
fw.writerow(["abcdef", "ghijkl"]) # abcdef,ghijkl
fw.writerows(["111222", "333444"]) #1,1,1,2,2,2
#3,3,3,4,4,4
fw.writerows([("111", "222"), ("333", "444")])#111,222
#333,444
文件读取操作
import csv
with open('./data.csv', mode='r', newline="", encoding='utf8') as file:
cr=csv.reader(file)
for line in cr:
print(line)
"""
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
['abcdef', 'ghijkl']
['1', '1', '1', '2', '2', '2']
['3', '3', '3', '4', '4', '4']
['111', '222']
['333', '444']
"""
dict方式写入数据
import csv
with open('./data.csv', mode='w', newline="", encoding='utf8') as file:
field_name=['username','password'] #表头序列
cdw=csv.DictWriter(file,fieldnames=field_name) #指定表头
cdw.writeheader()#写入表头
cdw.writerow({'username': 'xiaoming', 'password': '111222'})
cdw.writerow({'username': 'xiaowang', 'password': '111222'})
"""
username,password
xiaoming,111222
xiaowang,111222
"""
dict读取数据
import csv
with open('./data.csv', mode='r', newline="", encoding='utf8') as file:
dr=csv.DictReader(file)
for line in dr :
print(line)
"""
{'username': 'xiaoming', 'password': '111222'}
{'username': 'xiaowang', 'password': '111222'}
"""
json模块文件读写
转换成字符串--dumps()
import json
jstr = json.dumps(['hello', {'username': 'xiaoming'}])
#转换成字符串
print(jstr, type(jstr))#["hello", {"username": "xiaoming"}] <class 'str'>
with open('./data.txt', mode='w') as file:
file.write(jstr) #["hello", {"username": "xiaoming"}]
解析为Python格式--loads()
import json
ls=json.loads('["hello",{"username":"xiaoming"}]')#['hello', {'username': 'xiaoming'}] <class 'list'>
print(ls,type(ls))
json文件写入操作--dump()
import json
data={"id": 1,"test_steps": ["1.打开浏览器","2.输入用户信息"]}
with open('./data.json',mode='w',encoding='utf8') as file:
json.dump(data,file)
#{"id": 1, "test_steps": ["1.\u6253\u5f00\u6d4f\u89c8\u5668", "2.\u8f93\u5165\u7528\u6237\u4fe1\u606f"]}
json文件读取操作--load()
import json
with open('./data.json',mode='r',encoding='utf8') as file:
data=json.load(file)
print(data,type(data))
#{'id': 1, 'test_steps': ['1.打开浏览器', '2.输入用户信息']} <class 'dict'>
ini文件解析
写入ini文件
import configparser
#实例化对象
config =configparser.ConfigParser()
config['Default'] = {
"IP":"123.0.0.1",
"port":3000,
"user":"root",
"passwd":123456
}
config['uat']={
"IP":"192.168.1.101",
"port":3000,
"user":"root",
"passwd":123456
}
with open('./data.ini',mode='w',encoding='utf8') as file:
config.write(file)
"""
[Default]
ip = 123.0.0.1
port = 3000
user = root
passwd = 123456
[uat]
ip = 192.168.1.101
port = 3000
user = root
passwd = 123456
"""
读取ini文件
import configparser
#实例化对象
config =configparser.ConfigParser()
config.read("./data.ini")
print(config.sections()) #['Default', 'uat']
for section in config.sections():
print(section) #Default uat
print(config[section]) #<Section: Default> <Section: uat>
for key in config[section] :
print(key,config[section].get(key))
"""
ip 123.0.0.1 ip 192.168.1.101
port 3000 port 3000
user root user root
passwd 123456 passwd 123456
"""
excel文件解析
写入操作
from openpyxl import Workbook
#实例化
wb=Workbook()
#创建一个表格
worksheet=wb.create_sheet('data')
#wordsheet['A1']=20
worksheet.append(['uesername','password'])#批量写入
#保存
wb.save('./data.xlsx')
读取操作
from openpyxl import load_workbook
from openpyxl.worksheet.worksheet import Worksheet
wb=load_workbook('data.xlsx')
print(wb.sheetnames) #['Sheet', 'data'] 表格名称
#ws:Worksheet 指定类型Worksheet
ws:Worksheet=wb['data'] #获取data表的数据
for row in ws.values : #('uesername', 'password')
print(row)
yaml文件操作
解析数据
import yaml
#对象 animal: pets
#yaml 数组
data = """
- Cat
- Dog
- Goldfish
"""
data2={
"name":"xiaoming",
"age":20
}
print(yaml.safe_load(data)) #['Cat', 'Dog', 'Goldfish']
print(yaml.safe_dump(data2))#字典转换成yaml格式
"""
age: 20
name: xiaoming
"""
写入文件
import yaml
data = {
'data':[1,2,3,4,5],
'name':'xiaoming',
'age':20
}
with open('./data.yaml',mode='w',encoding='utf8') as file:
yaml.safe_dump(data,file)
"""
age: 20
data:
- 1
- 2
- 3
- 4
- 5
name: xiaoming
"""
文件读取
import yaml
with open('./data.yaml',mode='r',encoding='utf8') as file:
print(yaml.safe_load(file))
#{'age': 20, 'data': [1, 2, 3, 4, 5], 'name': 'xiaoming'}