Python学习笔记-Day6

Python学习笔记-Day6

文件处理

  1. I/O input/print输入和输出流
  2. 字符串格式化
  3. open/close
  4. 读取文件内容
  5. 写入文件
  6. json序列化
  7. csv文件读取

文件处理是项目开发中使数据持久化和获取配置的主要方式。我们在平时的工作中接触到各种文件类型,比如 word、视频、txt文本等。Python 中提供了很方便读写文件的函数,可以很方便的处理各种类型的文件。

1、I/O input/print输入和输出流

复制代码
a = input("place input your name:")

字符串格式化

旧式格式化 %格式化

复制代码
print("%s is %d is year old" % ('youzi',19))  

新式格式化 str.format()

复制代码
print("{} is {:.0f} is year old".format('youzi',19.333333333333333))

解释:{:.0f}
意思是保留0位小数

操作说明符

复制代码
%s 字符串  
%d 整数  
%f 浮点数  
%.2f 保留2位小数  
%x 十六进制  
%o 八进制  
%e 科学计数法

open/close

常用权限字符:

复制代码
r:读
w:写
a:追加
b:二进制的方式打开
wb:二进制写入
rb:二进制读取

file = open("F:\\exec.txt")  #定义路径,并open类型打开文件  
print(type(file)) #查看变量类型  
print(file)  #打印文件,内容是文本文件对象内容  
file.close() #关闭文件

with open()

复制代码
with open("F:\\exec.txt",'r',encoding="utf-8") as f:  
     print(f.read())  
  
file = open("F:\\exec.txt",'r',encoding="utf-8")  
with file as f:  
    print(f.read())

打开文件计算行数

复制代码
file = open("F:\\exec.txt",'r',encoding="utf-8")  
  
with file as f:  
    count = 0  
    for line in f:  
        count += 1  
    print(count)

读取文件内容

复制代码
file = open("F:\\exec.txt",'r',encoding="utf-8")  
  
with file as f:  
    print(f.read())  #读取所有内容,并且加载到内存中  
    f.close()

file = open("F:\\exec.txt",'r',encoding="utf-8")  
  
#一行一行的读取  
with file as f:  
    print(f.readline())  
    print(f.readline())  
    print(f.readline())

文件读取与写入

复制代码
file = "F:\\exec.txt"  
  
with open(file,'w',encoding="utf-8") as f:  
    f.write("I love youzi.")  
    f.write("\nI love cheng.")

追加

复制代码
file = "F:\\exec.txt"  
  
with open(file,'a',encoding="utf-8") as f:  
    f.write("I love youzi.")  
    f.write("\nI love cheng.")

readline和readlines的区别

readline和linereads的区别就是带s的读取所有行,而且是按一行一个列表元素

复制代码
file = "F:\\exec.txt"  
  
with open(file,'r',encoding="utf-8") as f:  
    print(f.readlines())

json序列化

复制代码
import pickle  
  
courses = {'1':'Linux','2':'Windows','3':'Darwin','4':'Unix'}  

#打开courses.data这个文件,如果没有就自动创建一个,然后以二进制的方式写入进去,保存到f文件,也就是courses.data
with open('./courses.data','wb') as f:  
    pickle.dump(courses,f)

import pickle  
  
courses = {'1':'Linux','2':'Windows','3':'Darwin','4':'Unix'}  
  
with open('./courses.data','rb') as f:  
    new_courses = pickle.load(f)  
    print(new_courses)

import pickle  
import json  
  
courses = {'1':'Linux','2':'Windows','3':'Darwin','4':'Unix'}  
  
#打开courses,如果没有就自动创建,然后写入courses内容,保存为json对象  
with open('courses.json','w') as f:  
    f.write(json.dumps(courses))

csv文件读取

data.csv

复制代码
姓名,年龄,城市
张三,25,北京
李四,30,上海
王五,28,广州

test.py

复制代码
import csv  
with open('data.csv',encoding='utf-8') as f:  
    data = list(csv.reader(f))  
    print(data)

异常

完整结构

复制代码
try:
    # 可能出错的代码
    pass
except ExceptionType1:
    # 处理 ExceptionType1 异常
    pass
except ExceptionType2:
    # 处理 ExceptionType2 异常
    pass
else:
    # 没有异常时执行
    pass
finally:
    # 无论是否异常都会执行
    pass

简单示例:

复制代码
try:  
    result = 10 / 0  
except ZeroDivisionError:  
    print("不能除以零!")

try:  
    print(num)  
    pass  
except Exception as e:  
    print(e)  
    pass  
else:  
    print("恭喜恭喜,没有报错!")  
    pass  
finally:  
    print("没事,报不报错我都要执行,要你管")  
    pass

pass 空操作语句,什么也不做,只是个占位符

相关推荐
ctlover33 分钟前
Python学习第 5 日
学习
六点_dn1 小时前
RabbitMQ学习笔记-部署和使用
笔记·学习·rabbitmq
就是一只白1 小时前
复制地理信息python版本
python
看浪的路人1 小时前
第1讲:Agent 到底是什么?和 Chatbot 有什么区别
python·ai
瓦学妹2 小时前
什么是网络索引?它是如何工作的?
大数据·网络·python·网络爬虫
2501_926978332 小时前
以说明书 DNA 为模板——完整 AGI 的结构图景
前端·人工智能·经验分享·笔记·ai写作
天天爱吃肉82182 小时前
商用车多体动力学实战笔记|第6篇:动力传动系统(发动机、变速箱、分动器、TCS、LSD限滑差速)
大数据·人工智能·笔记·python·嵌入式硬件·汽车
海盗12343 小时前
微软技术周报 ——2026-08-03
后端·python·microsoft·c#·.netcore
大数据魔法师3 小时前
【最全详解】DuckDB Python 全套 API 语法、参数与实战用法(零基础全覆盖)
python·数据分析
IT19953 小时前
Dify 实战笔记:工作流核心玩法 + 开源 AI 应用全解析
笔记