当前位置: 首页 > 面试题库 >

Python连接文本文件

戚逸清
2023-03-14
问题内容

我列出了20个文件名,例如['file1.txt', 'file2.txt', ...]。我想编写一个Python脚本将这些文件连接成一个新文件。我可以通过打开每个文件f = open(...),通过调用逐行读取f.readline(),然后将每一行写入该新文件。在我看来,这并不是很“优雅”,尤其是我必须逐行读取/写入的部分。

在Python中是否有更“优雅”的方式来做到这一点?


问题答案:

这应该做

对于大文件:

filenames = ['file1.txt', 'file2.txt', ...]
with open('path/to/output/file', 'w') as outfile:
    for fname in filenames:
        with open(fname) as infile:
            for line in infile:
                outfile.write(line)

对于小文件:

filenames = ['file1.txt', 'file2.txt', ...]
with open('path/to/output/file', 'w') as outfile:
    for fname in filenames:
        with open(fname) as infile:
            outfile.write(infile.read())

……还有我想到的另一个有趣的东西:

filenames = ['file1.txt', 'file2.txt', ...]
with open('path/to/output/file', 'w') as outfile:
    for line in itertools.chain.from_iterable(itertools.imap(open, filnames)):
        outfile.write(line)

遗憾的是,最后一种方法留下了一些打开的文件描述符,GC还是应该照顾这些文件描述符。我只是觉得很有趣



 类似资料:
  • Tableau可以连接到文本文件数据并设置数据源。Tableau连接到以下文本文件(,,,)。 1. 如何建立连接和设置数据源 第1步:打开Tableau。 第2步: 在Connect下方,单击Text File。 第3步:转到下一个屏幕, 选择要连接的文件,例如SalesJan2009.CSV 单击“Open”选项。 在数据源的左侧,将看到CSV文件。 2. 与文本文件示例的数据连接 这是一个显

  • 问题内容: 我正在使用Express 3,并且想处理 文本/纯 POST。 Express 3 现在使用connect的bodyParser(我认为旧的Express代码已转移到connect)。bodyParser的文档提供了有关如何使其支持其他文件类型的一些详细信息。而且我找到了一篇很棒的博客文章,内容涉及在旧版本的Express中如何处理文本/纯文本。 我是否应该明确要求连接(并让节点的要求

  • 问题内容: 我正在从Google文档中提取数据,进行处理,然后将其写入文件(最终我将其粘贴到Wordpress页面中)。 它具有一些非ASCII符号。如何将这些安全地转换为可以在HTML源代码中使用的符号? 目前,我正在将所有内容都转换为,将它们全部合并为Python字符串,然后执行以下操作: 最后一行存在编码错误: 编解码器无法解码位置12286的字节:序数不在范围内(128) 部分解决方案:

  • 我正在处理这样的文本文件: 第01章 乱数假文 多洛·希特·阿梅特,一位杰出的献身者,他是一位临时顾问 第02章 献祭 临时行政长官 第03章 等等,多洛尔·马格纳·阿利夸。 带有分隔符,如“章”、“章”、“章”等...和1或2位数(“第1章”或“第01章”)。 我使用和 现在我需要拆分我的字符串,以便获得“第二十章”的文本。 对于第02章,这将是: 献祭 临时行政长官 我是Python新手,我读

  • 问题内容: 我正在使用标准的join命令来连接基于column1的两个排序文件。命令是简单的连接文件1文件2>输出文件。 但是,如何使用相同的技术加入3个或更多文件?join file1 file2 file3> output_file上面的命令给了我一个空文件。我认为sed可以帮助我,但我不太确定该怎么做? 问题答案: : 它仅适用于 两个 文件。 如果您需要加入三个,也许您可​​以先加入前两个

  • Hyperledger Composer使用连接配置文件连接到运行时。 创建连接配置文件 1.创建一个名为connection.json的新文件,其中包含Hyperledger Fabric v1.0的以下信息。} 为Hyperledger Fabric v1.0创建连接配置文件,使用以下格式: { "type": "hlfv1", "orderers":