linRichielinRichie
前端
Python
Linux
ChatGPT
  • B 站
  • 500px
前端
Python
Linux
ChatGPT
  • B 站
  • 500px
    • Python学习指南
  • 快速开始

    • Python: 输入与输出 (I/O)
    • Python: 异常处理 try-except
    • Python: List深入概述
    • Python: 面向对象编程(OOP)
  • Python 语法库函数

    • 语法库目录
    • 库

      • library目录
      • argparse:解析命令行参数
      • difflib:比较序列并生成差异信息
      • dnspython: DNS处理库
      • IPy:IP地址处理库
      • logging:记录和管理日志信息
      • os:访问和操作操作系统
      • psutil:系统性能信息库
      • re:正则表达式库
      • smtplib:邮件发送库
    • 函数

      • function目录
      • any() 函数
      • input 函数
      • lambda 和 map 函数
      • reversed()函数
      • zip()函数
    • 语句

      • statement目录
      • import 语句
      • Try/Exception 异常
    • 概念

      • concept目录
      • 深拷贝与浅拷贝
      • 列表、字典与元组
      • 文件读写
      • IO: 输入与输出
      • 逻辑判断与条件语句
      • OOP 面向对象:class
      • OOP: 面向对象编程
  • SQLAlchemy

    • 获取insert或者update的id
  • Pandas

    • Pandas目录
    • Pandas:基础操作
    • Pandas:数据处理与转换
    • Pandas: 数据写入 excel 表格
  • Python前端框架

    • Flask

      • 1. Flask简介
      • 2. Flask程序基本结构
      • 3. Flask请求-响应循环
      • 4. flask案例: 框架网页查询IP
      • Python: Flask中的GitHub OAuth
    • Django

      • chapter-01:Django框架认识

        • 1.1 Django的产生背景
        • 1.2 MTV设计模式
        • 1.3 Django 主要功能模块
      • chapter-02:开发环境配置

        • 2.1 Python的安装与配置
        • 2.2 虚拟环境安装与配置
        • 2.3 Django安装与配置
        • 2.4 MySQL安装配置
      • chapter-03:项目框架搭建

        • 3.1 Django管理工具-创建项目骨架
        • 3.2 修改项目的默认配置
        • 3.3 初始化项目环境
      • chapter-04:ORM应用与原理剖析

        • 4.1 构建POST应用需要的数据集
        • 4.2 Model相关的概念和使用方法
        • 4.3 Model的查询操作API
        • 4.4 ORM实现原理
      • chapter-05:Django管理后台

        • 5.1 将Model注册到管理后台
        • 5.2 管理后台实现原理
      • chapter-06:视图

        • 6.1 视图基础
        • 6.2 视图的高级特性和快捷方法
        • 6.3 基于类的通用视图
      • chapter-07:模板系统

        • 7.1 模板系统基础
        • 7.2 模板语言
      • chapter-08:表单系统

        • 8.2 使用表单系统实现表单: ModelForm
      • chapter-09:用户认证系统

        • 9.1 用户与身份认证
        • 9.2 权限管理
        • 9.3 用户认证系统应用
      • chapter-10:Django路由系统

        • 10.1 路由系统基础
      • chapter-11:Django中间件

        • 11.1 中间件基础
  • Python例子

    • Python: Linux的Shell命令
    • Python: PEP8自动格式化代码
    • Python: pip操作
    • Python: 业务服务监控
    • Python: 从文件逐行读取数据
    • 将链表转换为字符串
    • Python: 检查URL是否能正常访问
    • Python: 爬取网易云音乐
    • Python: 读取目录下的所有内容
    • 案例研究:文本统计
  • Python爬虫

    • 数据解析工具:Xpath
  • 算法题

    • 02:两数相加
    • 09:回文数
    • 13:罗马数值转换为整数
    • 14:最长公共前缀

Python: 输入与输出 (I/O)

  • 1. 字符串格式化
    • 1.1 字符串插入
    • 1.2 转换说明符
    • 1.3 格式字符串
  • 2. 文件操作
    • 2.1 文本文件处理
    • 2.2 二进制文件处理
  • 3. 序列化
    • 3.1 pickle 模块
  • 4. 网络操作
    • 4.1 读取网页
    • 4.2 浏览器操作
  • 总结

Python 程序需要与外界进行通信,包括用户交互、文件读写、网络访问等,这些操作统称为输入和输出(I/O)。本文主要介绍 Python 中的 I/O 操作,包括字符串格式化、文件操作等。


1. 字符串格式化

1.1 字符串插入

# 控制小数位数示例
x = 1/81
print(x)                # 0.012345679012345678
print('value: %.2f' % x)  # value: 0.01
print('value: %.5f' % x)  # value: 0.01235

1.2 转换说明符

说明符含义
d整数
o八进制值
x小写十六进制数
X大写十六进制数
e小写科学记数法
E大写科学记数法
f浮点数
s字符串
%%字符

1.3 格式字符串

# format() 方法示例
ss = 'My {pet} has {prob}'.format(pet='dog', prob='fleas')
print(ss)  # My dog has fleas

# 按位置替换
sss = 'My {0} has {1}'.format('dog', 'fleas')
print(sss)  # My dog has fleas

# 格式化浮点数
print('1/18 = {x:.3f}'.format(x=1/18))  # 1/18 = 0.056

2. 文件操作

2.1 文本文件处理

# 写入文件
with open('story.txt', 'w') as f:
    f.write('Many had a little lamb,\n and then she had some more.\n')

# 读取文件
with open('story.txt', 'r') as f:
    content = f.read()

# 追加内容
with open('story.txt', 'a') as f:
    f.write('New line\n')

2.2 二进制文件处理

# 检查是否为 GIF 文件
def is_gif(fname):
    with open(fname, 'br') as f:
        first4 = tuple(f.read(4))
        return first4 == (0x47, 0x49, 0x46, 0x38)

3. 序列化

3.1 pickle 模块

import pickle

def save_data():
    grades = {
        'alan': [4, 8, 10, 10],
        'tom': [7, 7, 7, 8]
    }
    with open('grades.data', 'wb') as f:
        pickle.dump(grades, f)

def load_data():
    with open('grades.data', 'rb') as f:
        return pickle.load(f)

4. 网络操作

4.1 读取网页

import urllib.request

def get_webpage(url):
    page = urllib.request.urlopen(url)
    return page.read()

4.2 浏览器操作

import webbrowser

def open_webpage(url):
    return webbrowser.open(url)

总结

Python 提供了丰富的 I/O 操作功能:

  • 灵活的字符串格式化方法
  • 完整的文件操作接口
  • 强大的序列化工具
  • 便捷的网络访问能力

注意:在处理文件时要注意正确关闭文件,推荐使用 with 语句进行文件操作。

最近更新时间:
Next
Python: 异常处理 try-except