Python编程实用代码片段集合
92 浏览量
更新于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编程技能。
2019-08-10 上传
2022-07-10 上传
2024-01-30 上传
2021-04-17 上传
点击了解资源详情
点击了解资源详情
2021-02-14 上传
2021-02-20 上传
2021-04-08 上传
weixin_38587155
- 粉丝: 7
- 资源: 908
最新资源
- 全国江河水系图层shp文件包下载
- 点云二值化测试数据集的详细解读
- JDiskCat:跨平台开源磁盘目录工具
- 加密FS模块:实现动态文件加密的Node.js包
- 宠物小精灵记忆配对游戏:强化你的命名记忆
- React入门教程:创建React应用与脚本使用指南
- Linux和Unix文件标记解决方案:贝岭的matlab代码
- Unity射击游戏UI套件:支持C#与多种屏幕布局
- MapboxGL Draw自定义模式:高效切割多边形方法
- C语言课程设计:计算机程序编辑语言的应用与优势
- 吴恩达课程手写实现Python优化器和网络模型
- PFT_2019项目:ft_printf测试器的新版测试规范
- MySQL数据库备份Shell脚本使用指南
- Ohbug扩展实现屏幕录像功能
- Ember CLI 插件:ember-cli-i18n-lazy-lookup 实现高效国际化
- Wireshark网络调试工具:中文支持的网口发包与分析