Python编程实用代码片段集合

0 下载量 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编程技能。