如何用Python代码合并文件另存为新的文件

liftword1周前 (05-09)技术文章13

在实际操作中,肯定经常编辑一些文件什么的,我们编辑好,我们也需要对其进行保存起来,不然白忙活,白费了很多时间,还要从头再来。

如何合并文件和另存为:

我新建了两个文件t1和t2,先随便放一点文字,能测试就行,你学会了怎么弄都行。

实现内容:

我想把这两个文件合并,一个按字母排序下,一个就不排序,并把排序好的结果写入到不同的文件中,这个怎么实现呢?

下面是实现截图:

我先在C:\Users\Administrator\PycharmProjects\pythonProject3\test文件下,新建二个记事本,进行调试、测试。

并对这个文件预先写入一点东西,文件里面的内容

执行代码后生成c,d二个文本,是后面执行代码文件创建的,起先是没有,一个是按字母排序,一个就直接拼接。

代码里面用了使用当前路径和绝对路径两种访问方式,方便学习理解,锻炼熟悉代码。

如下图

要正确使用路劲,不能会找不到文件,我在这特意判断了下,当然使用的目录路劲,如果你熟练使用后可以去掉

import os

# 操作文件的时候,我们可以简单的判断下文件信息,当前工作目录,文件名是否存在等等

print("当前工作目录:", os.getcwd()) # 查看下Python运行时的工作目录,如果你不用当前的话,你就用用绝对路径,都可以的。但是一定要对,不能找不到文件

print("t1.txt是否存在:", os.path.exists("t1.txt"))

print("t2.txt是否存在:", os.path.exists("t2.txt"))

代码如下

Bash
import os
# 操作文件的时候,我们可以简单的判断下文件信息,当前工作目录,文件名是否存在等等
print("当前工作目录:", os.getcwd())  # 查看下Python运行时的工作目录,如果你不用当前的话,你就用用绝对路径
print("t1.txt是否存在:", os.path.exists("t1.txt"))#存在为真
print("t2.txt是否存在:", os.path.exists("t2.txt"))#没有为假
# 读取文件A和B的内容
with open('t1.txt', 'r') as file_t1:
    content_t1 = file_t1.read().strip()  # 去除首尾空白及换行符
#with open('t2.txt', 'r') as file_t2:
    #content_t2 = file_t2.read().strip()#都处理下,实际根据实际来
with open(r'C:\Users\Administrator\PycharmProjects\pythonProject3\test\t2.txt', 'r') as file_t2:#绝对路径
    content_t2 = file_t2.read().strip()
# 合并两个字符串
t3 = content_t1 + content_t2
# 按字母顺序排序(不区分大小写)
sorted_chars = sorted(t3, key=lambda x: x.lower())
# 将排序后的字符列表转换为字符串
sorted_str = ''.join(sorted_chars)
# 将结果写入文件C
with open('C.txt', 'w') as file_c:#排序后的保存到d
    file_c.write(sorted_str)
with open('d.txt', 'w') as file_c:#不排序
    file_c.write(t3)

运行情况

也可以优化下 ,我们也可以换行,其他的你慢慢整

t3 = content_t1 +'\n' +content_t2

with open('d.txt', 'w') as file_c:#不排序

file_c.write(t3)

文件操作访问、修改、保存都没有问题,实际工作中要复杂很多,熟悉代码的同时,也要注意捕获异常,快速知道问题和解决。

相关文章

Python中去除字符串末尾换行符的方法

技术背景在Python编程中,处理字符串时经常会遇到字符串末尾包含换行符的情况,如从文件中读取每一行内容时,换行符会作为字符串的一部分被读取进来。为了满足后续处理需求,需要将这些换行符去除。实现步骤1...

零基础学Python!你准备好了吗?第一章·第十课 字符串之转义符!

之前我们知道了字符串,还讲解了在字符串中怎么使用引号。不知道各位还记得上次的代码吗?message = "输出"ABCD"!"我们知道,这个代码会被编译器阅读出错,正确...

Python中无换行和空格打印的方法(python print 无空格)

技术背景在Python编程中,使用print函数输出内容时,默认会在每个值之间添加空格或在末尾添加换行符。但在某些场景下,我们可能希望避免这种情况,让输出内容紧密相连。例如,实现进度条、输出特定格式的...

揭开换行符的神秘面纱:\n与/n,你真的用对了吗?

大家好,我是小林,一个数码家居领域的专家。今天,我要和大家聊聊一个看似简单,实则常被忽视的小细节——换行符。别看它小,它的作用可大了去了,特别是在编程和文本处理中,用对了换行符,能让你的工作事半功倍!...

Python中长字符串的多行定义方法(python 长字符串)

技术背景在Python编程中,我们常常会遇到需要处理长字符串的情况,比如构建复杂的SQL查询语句。为了提高代码的可读性,我们希望将长字符串拆分成多行来定义。然而,Python的语法规则与其他一些编程语...

Python中打印到标准错误输出(stderr)的方法

技术背景在Python编程中,有时候我们需要将错误信息或调试信息输出到标准错误输出(stderr),而不是标准输出(stdout)。标准错误输出通常用于显示程序运行过程中的错误信息,这样可以将正常的输...