【Python 第六篇章】字符操作和读取文件

一、字符操作

使用 f 或者 F 关键字格式化字符串。

python 复制代码
>>> year = 2016
>>> year = 2024
>>> event = '年'
>>> f'今年是 {year} {event}'
'今年是 2024 年'

使用 str.format() 方法格式化字符串。

python 复制代码
>>> name = '小李'
>>> age = 20
>>> '我的名字是: {} 年龄是:{}'.format(name, age)
'我的名字是: 小李 年龄是:20'
python 复制代码
>>> '我的名字是: {name} 年龄是:{age}'.format(name='小王', age=56)
'我的名字是: 小王 年龄是:56'

二、读取文件

在Python中,读取文件是一项非常基础且常用的操作。Python提供了多种方式来读取文件内容,最常用的方法是使用内置的open()函数配合文件读取方法(如read(), readline(), readlines()等)。下面是一些基本的读取文件示例:

1、使用 read() 方法

read() 方法会读取文件的全部内容,并将其作为一个字符串返回。如果文件很大,这可能会消耗大量内存。

python 复制代码
# 打开文件
with open('example.txt', 'r', encoding='utf-8') as file:
    # 读取文件全部内容
    content = file.read()
    # 打印内容
    print(content)

这里,with语句用于打开文件,并确保文件在使用后正确关闭。'r'模式表示以只读方式打开文件,encoding='utf-8'指定了文件的编码方式,这对于处理非英文文本尤为重要。

2、使用 readline() 方法

readline() 方法会读取文件的一行内容,并返回一个字符串。如果到达文件末尾,则返回空字符串。

python 复制代码
with open('example.txt', 'r', encoding='utf-8') as file:
    while True:
        line = file.readline()
        if not line:
            break
        print(line, end='')  # 打印行,end='' 避免打印额外的换行符

3、使用 readlines() 方法

readlines() 方法会读取文件的所有行,并将它们作为一个字符串列表返回。每个字符串代表文件中的一行,包括末尾的换行符(如果有的话)。

python 复制代码
with open('example.txt', 'r', encoding='utf-8') as file:
    lines = file.readlines()
    for line in lines:
        print(line, end='')  # 打印每行,end='' 避免打印额外的换行符

三、JSON操作

在Python中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。Python提供了内置的json模块,使得我们可以很方便地将Python中的结构化数据(如字典、列表等)转换为JSON格式的字符串,以及将JSON格式的字符串解析回Python中的结构化数据。

1、将Python结构化数据保存为JSON

要将Python中的结构化数据(如字典)保存为JSON格式,你可以使用json.dumps()方法。这个方法会将Python对象编码成JSON格式的字符串。如果你想要将JSON数据写入文件,可以使用json.dump()方法,它会直接将数据写入文件对象,而不是先转换成字符串。

示例:使用json.dumps()
python 复制代码
import json

data = {
    'name': 'John Doe',
    'age': 30,
    'is_employee': True,
    'skills': ['Python', 'JSON', 'Web Development']
}

# 将Python对象编码为JSON格式的字符串
json_str = json.dumps(data, indent=4)

print(json_str)

indent=4参数用于美化输出,使得JSON字符串具有更好的可读性。

示例:使用json.dump()
python 复制代码
import json

data = {
    'name': 'John Doe',
    'age': 30,
    'is_employee': True,
    'skills': ['Python', 'JSON', 'Web Development']
}

# 直接将Python对象写入文件
with open('data.json', 'w', encoding='utf-8') as f:
    json.dump(data, f, indent=4, ensure_ascii=False)

# 注意:使用ensure_ascii=False可以确保非ASCII字符(如中文)被正确处理

2、读取JSON文件

如果你想要从JSON文件中读取数据,并将其转换回Python中的结构化数据(如字典),可以使用json.load()方法。

示例:读取JSON文件
python 复制代码
import json

# 从文件读取JSON数据,并转换为Python对象
with open('data.json', 'r', encoding='utf-8') as f:
    data = json.load(f)

print(data)
print(type(data))  # 输出:<class 'dict'>

通过以上示例,你可以看到Python中的json模块是如何方便地处理JSON数据的。无论是将Python结构化数据转换为JSON字符串,还是将JSON字符串解析回Python对象,都只需要几行代码即可完成。

相关推荐
jiayou648 小时前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
李广坤1 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
爱可生开源社区2 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1772 天前
《从零搭建NestJS项目》
数据库·typescript
DianSan_ERP3 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
加号33 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏3 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
李慕婉学姐3 天前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
呉師傅3 天前
火狐浏览器报错配置文件缺失如何解决#操作技巧#
运维·网络·windows·电脑
百锦再3 天前
Django实现接口token检测的实现方案
数据库·python·django·sqlite·flask·fastapi·pip