Python编程实用代码片段集合
21 浏览量
更新于2024-07-15
收藏 136KB PDF 举报
"这篇资源是作者自己在使用Python编程时积累的一些实用代码片段,包括了反向读取文件、合并两个文件中相同内容、将二进制转换为十进制等常见操作。这些代码示例可以帮助读者理解并掌握Python中的基本编程技巧和问题解决方法。"
在这篇文章中,作者分享了几个有用的Python代码片段,让我们逐一解析:
**例001** 是一个计算序列求和的问题。这个例子展示了如何计算1-2+3-4...+199-200的值。代码通过两个循环分别计算正奇数之和(sum1)和负偶数之和(sum2),然后相加得到最终结果。这种分治策略简化了计算过程。
```python
# 计算1-2+3-4..+199-200值
sum1 = 0
sum2 = 0
for i in range(1, 200, 2): # 计算1+3+5+7+199
sum1 += i
for i in range(-200, 0, 2): # 计算-2+(-4)+(-6)+(-200)
sum2 += i
print("The total of 1-2+3-4..+199-200 is:", sum1 + sum2)
```
**例002** 展示了如何比较两个文本文件(1.txt 和 2.txt)的内容,并将它们的相同部分写入一个新的文件(3.txt)。这里使用了readlines()方法读取文件的全部行,然后通过strip()去除行尾的换行符进行比较,如果内容相同,则将内容写入新文件。
```python
# 将文件1.txt, 2.txt中相同的内容放到3.txt中
with open("1.txt", "r+") as f1, open("2.txt", "r+") as f2, open("3.txt", "w+") as f3:
all1 = f1.readlines()
all2 = f2.readlines()
for l1 in all1:
for l2 in all2:
if l1.strip() == l2.strip():
f3.write(l2)
else:
continue
print("#" * 40)
```
**例003** 是关于反向读取文件的内容。在这个例子中,我们读取名为test.txt的文件,并从后向前逐行读取。这可以通过将文件指针移动到文件末尾,然后每次读取一行来实现。
```python
# 反向读取文件
with open('test.txt', 'r') as file1:
list1 = [] # 用一个空列表用于存放每行的内容
file1.seek(0, 2) # 移动文件指针到文件末尾
file_size = file1.tell()
while True:
file1.seek(-2, 1) # 每次向后读取两个字节
byte = file1.read(1)
if not byte: # 如果读取为空,说明已经到了文件开头
break
if byte != b'\n': # 当前字节不是换行符,继续向后读取
continue
# 找到换行符,获取上一个字节,即当前行的最后一个字符
prev_byte = file1.read(1)
if prev_byte == b'\n': # 如果上一个字节也是换行符,说明这是文件开头的空行,跳过
continue
file1.seek(-2, 1) # 回溯到当前行的开始位置
line = file1.readline()
list1.append(line.decode('utf-8')) # 将读取的字节解码为字符串并添加到列表中
```
这些代码片段展示了Python的基本操作,包括文件处理、循环、条件判断以及字符串操作,对于初学者和有经验的开发者来说,都是很好的学习材料。通过理解和实践这些代码,读者可以增强自己的Python编程技能。
292 浏览量
129 浏览量
129 浏览量
112 浏览量
2024-12-26 上传
2024-09-09 上传
219 浏览量
162 浏览量
2025-01-26 上传

weixin_38587155
- 粉丝: 7
最新资源
- PL/SQL编程指南:理解PL/SQL特性和块结构
- 利用Com技术创建Windows程序设计中的Band对象
- SMS 2003 R2:技术概览与管理系统部署指南
- BitTorrent协议v1.0详解:数据结构与消息交互
- 主流数据库JDBC连接教程
- Java与XML技术在企业级业务中的整合应用
- ATM在线系统设计与接口详细说明
- MATLAB图像处理命令详解:applylut, bestblk, blkproc等
- Windows XP系统优化指南
- Java安全基础:加密与安全编程实践
- Java多线程编程解析
- FANUC与西门子数控系统硬件结构对比分析
- Winrunner7.6脚本实战:循环控制与静态文本检测
- 每日一课:Java六十分钟掌握
- Java软件架构设计模式探索
- 深入解析Java JDK1.4新特性