Python----不同类型文件读取操作大全

0.说明

  该文件包含了   

 (1)open内置函数基本使用 即 txt文件的读写操作

 (2)open内置函数基本使用 即 jmx文件读取

 (3)csv文件读写操作

 (4)json模块基本使用

 (5)json文件读写操作

 (6)ini文件读写操作

 (7)Excel文件读写操作

 (8)yaml模块基本使用

 (9)yaml文件读写操作

 

1.open内置函数基本使用 即 txt文件的读写操作

   官网:https://docs.python.org/zh-cn/3/library/functions.html#open

   目录操作,可参考:https://www.cnblogs.com/Z-Queen/p/14425487.html

# open函数
# 读取文件和写入文件

import os   # 目录操作

# 文件写入
directory_dir =os.path.abspath(os.path.join(os.getcwd(),''))    # 获取当前文件所在的目录
file_dir = os.path.join(directory_dir,'1.txt')                  # 文件若不存在,则会创建文件
with open(file_dir,encoding='utf-8',mode='w') as file:
    file.write('你好\n')
    file.writelines(['11111\n','22222\n'])
    file.write('张三与李四')



# 文件读取
with open(file_dir,encoding='utf-8',mode='r') as file:
    # print('读取所有的内容:',file.read())
    lines = file.readlines()
    # ['你好\n', '11111\n', '22222\n', '张三与李四']
    print('读取所有的内容,返回list数据:',lines)

运行结果:

   

 

2.open内置函数基本使用 即 jmx文件的读写操作 

 

"""
  文件处理类
"""

class FileHandler:

    # 读取jmeter脚本jmx文件
    def read_jmx(self,file_dir):
        with open(file_dir,encoding='utf-8',mode='r') as file:
            content = file.read()

        return content


# 调试代码
d = FileHandler().read_jmx("D:/apache-jmeter-5.0/bin/jb/Test.jmx")
print(d)

 

 

 

3.csv文件读写操作

    csv文件操作可参考:https://www.cnblogs.com/Z-Queen/p/14434135.html

    3.1  使用list方式写入和读取

# csv文件操作
# 读取文件和写入文件
# 使用list方式写入和读取

import csv
import os

# 文件写入
directory_dir = os.path.abspath(os.path.join(os.getcwd(),''))    # 获取当前文件所在的目录
file_dir = os.path.join(directory_dir,'1_list.csv')              # 文件若不存在,则会创建文件
print(file_dir)

# newline='' 插入的时候不换行
with open(file_dir,mode='w',encoding='utf-8',newline='') as file:
    # 写入文件类
    fw = csv.writer(file)
    fw.writerow(['111','aaaaa'])
    fw.writerow(['222','bbbbb'])
    fw.writerows([('33','cc'),('44','dd'),('55','ee')])


# 文件读取
with open(file_dir,mode='r',encoding='utf-8') as file:
    rf = csv.reader(file)
    for line in rf:
        print(line)

运行结果:

 

 

 

  3.2  使用dict方式写入和读取

# csv文件操作
# 读取文件和写入文件
# 使用dict方式写入和读取

import  csv
import os

directory_dir = os.path.abspath(os.path.join(os.getcwd(),''))     # 获取当前文件所在的目录
file_dir = os.path.join(directory_dir,'1_dict.csv')               # 文件若不存在,则会创建文件
print(file_dir)

# 文件写入
with open(file_dir,mode='w',encoding='utf-8',newline='') as file:
    wf = csv.writer(file)
    wf.writerow(['a1','aa11'])
    wf.writerow(['b2','bb22'])
    wf.writerows([('c3','cc33'),('d4','dd44'),('e5','ee55')])


# 文件读取
with open(file_dir,mode='r',encoding='utf-8',newline='') as file:
    rf = csv.reader(file)
    for line in rf:
        print(line)

运行结果:

 

 

 

4.json模块基本使用

   官网:https://docs.python.org/zh-cn/3/library/json.html

# json模块基本使用

import json

aa = ['hello',{'name':'zhangsan'}]

# dumps() 把其他类型的数据转换为字符串类型
jstr = json.dumps(['hi',{'pwd':'123456'}])

print(type(aa),aa)     # <class 'list'> ['hello', {'name': 'zhangsan'}]
print(type(jstr),jstr)   # <class 'str'> ["hello", {"name": "zhangsan"}]


# loads() 把字符串解析为python对应格式
print('-----------------------loads() 用法----------------------------')
ls = json.loads('["hello", {"username": "xiaoming"}]')
print('列表类型的字符串:',ls,type(ls))

dit = json.loads('{"pwd": "111111"}')
print('字典类型的字符串:',dit,type(dit))

运行结果:

 

 

 

 

5.json文件读写操作

  官网:https://docs.python.org/zh-cn/3/library/json.html

# json文件操作
# 读取文件和写入文件
import json
import os


directory_dir = os.path.abspath(os.path.join(os.getcwd(),''))     # 获取当前文件所在的目录
file_dir = os.path.join(directory_dir,'1.json')                   # 文件若不存在,则会创建文件

test_data = {
    "id":1,
    "test_steps":[
        "1.打开浏览器",
        "2.输入用户信息"
    ]
}

# 文件写入
with open(file_dir,mode='w',encoding='utf-8') as file:
    json.dump(test_data,file)


# 文件读取
with open(file_dir,mode='r',encoding='utf-8') as file:
    data = json.load(file)
    print('读取的json内容为:',type(data),data)

运行结果:

 

 

 

 

 

6.ini文件读写操作

  官网:https://docs.python.org/zh-cn/3/library/configparser.html

# ini文件操作
# 读取文件和写入文件

import os
import configparser

# 实例化对象
config = configparser.ConfigParser()

config['Default'] = {
    "IP":"127.0.0.1",
    "port":3000
}

config['uat'] = {
    "IP": "192.168.1.101",
    "port": 2000
}

directory_dir = os.path.abspath(os.path.join(os.getcwd(),''))     # 获取当前文件所在的目录
file_dir = os.path.join(directory_dir,'1.ini')                   # 文件若不存在,则会创建文件

# 写入文件
with open(file_dir,mode='w',encoding='utf-8') as file:
    config.write(file)


# 读取文件
config_r = configparser.ConfigParser()
config_r.read(file_dir)

r_data = {}
for section in config_r.sections():
    print('11111',section,config_r[section])
    r_data[section] = {}
    for key in config_r[section]:
        r_data[section][key] = config_r[section][key]
        print('00000',key,config_r[section].get(key))

print('读取的文件内容:',r_data)

运行结果:

 

7.Excel文件读写操作

pip install openpyxl       #安装openpyxl库,对使用openpyxl模块对Excel文件进行处理(读,写)

  官网:https://openpyxl.readthedocs.io/en/stable/

  excel文件读写,可参考:https://www.cnblogs.com/Z-Queen/p/14440966.html

from openpyxl import Workbook           # 写入文件导入的第三方库

from openpyxl import load_workbook    # 读取文件导入的第三方库
from openpyxl.worksheet.worksheet import Worksheet    # 读取文件导入的第三方库

import os

directory_dir = os.path.abspath(os.path.join(os.getcwd(),''))     # 获取当前文件所在的目录
file_dir = os.path.join(directory_dir,'1.xlsx')                   # 文件若不存在,则会创建文件

# 写入文件
wb = Workbook()
worksheet = wb.create_sheet('lianxi')    # 创建sheet表单
worksheet.append(['name','pwd'])
for i in range(5):
    worksheet.append([f'user{i}',f'{i}{i}{i}'])

wb.save(file_dir)   # 保存文件


# 读取文件
wb_r = load_workbook(file_dir)
print('获取文件中sheet名称:',wb_r.sheetnames)
# :Worksheet 指明ws的类型,获取对应sheet表单的内容
ws:Worksheet = wb_r['lianxi']
data = []
# 获取每一行的内容
for row in ws.values:
    data.append(row)
print(data)

运行结果:

 

 

 

 

8.yaml模块基本使用

pip install pyyaml     #安装pyyaml库,对使用yaml模块对yaml文件进行处理(读,写)

   yaml语言教程:http://www.ruanyifeng.com/blog/2016/07/yaml.html

   pyyaml文档: https://pyyaml.org/wiki/PyYAMLDocumentation

import yaml
# yaml 解析数据

ww = {
    "name":'xiaoming',
    'age':20
}

data = """
- Cat
- Dog
- Goldfish
"""

# safe_dump() 把其他类型的数据转换为字符串类型
ww1 = yaml.safe_dump(ww)
print('解析之前的数据:',type(ww),ww)
print('解析之后的数据:',type(ww1),ww1)


# safe_load() 把字符串解析为python对应格式
data1 = yaml.safe_load(data)
print('解析之前的数据:',type(data),data)
print('解析之后的数据:',type(data1),data1)

运行结果:

 

 

 

 

9.yaml文件读写操作

pip install pyyaml     #安装pyyaml库,对使用yaml模块对yaml文件进行处理(读,写)

   yaml语言教程:http://www.ruanyifeng.com/blog/2016/07/yaml.html

   pyyaml文档: https://pyyaml.org/wiki/PyYAMLDocumentation

# yaml文件操作
# 读取文件和写入文件
import os
import yaml

directory_dir = os.path.abspath(os.path.join(os.getcwd(),''))     # 获取当前文件所在的目录
file_dir = os.path.join(directory_dir,'1.yaml')                   # 文件若不存在,则会创建文件

data = {
    'data':[1,2,3,4,5],
    "name":'xiaoming',
    'age':20
}

# 文件写入
with open(file_dir,mode='w',encoding='utf-8') as file:
    yaml.safe_dump(data,file)


# 文件读取
with open(file_dir,mode='r',encoding='utf-8') as file:
    read_yaml = yaml.safe_load(file)
    print('读取的文件内容:',read_yaml)

运行结果:

 

posted @ 2021-03-10 10:41  Z_sun  阅读(919)  评论(0编辑  收藏  举报