将多个文件连接成一个文件对象,而不创建新文件

2024-04-13

这个问题与Python 连接文本文件 https://stackoverflow.com/questions/13613336/python-concatenate-text-files

我有一个清单file_names, like ['file1.txt', 'file2.txt', ...].

我想将所有文件打开到一个文件对象中,我可以逐行读取该文件对象,但我不想在此过程中创建新文件。那可能吗?

with open(file_names, 'r') as file_obj:
   line = file_obj.readline()
   while line:
       ...

Use input https://docs.python.org/3/library/fileinput.html#fileinput.input from 文件输入 https://docs.python.org/3/library/fileinput.html模块。它从多个文件中读取,但使字符串看起来像是来自单个文件。 (懒惰线迭代)。

import fileinput

files= ['F:/files/a.txt','F:/files/c.txt','F:/files/c.txt']

allfiles = fileinput.input(files)

for line in allfiles: # this will iterate over lines in all the files
    print(line)

# or read lines like this: allfiles.readline()

如果您需要将所有文本集中在一处,请使用StringIO

import io

files= ['F:/files/a.txt','F:/files/c.txt','F:/files/c.txt']


lines = io.StringIO()   #file like object to store all lines

for file_dir in files:
    with open(file_dir, 'r') as file:
        lines.write(file.read())
        lines.write('\n')

lines.seek(0)        # now you can treat this like a file like object
print(lines.read())
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将多个文件连接成一个文件对象,而不创建新文件 的相关文章

随机推荐

  • 如何对多种文件类型使用 grep --include 选项?

    当我想 grep 某个目录中的所有 html 文件时 我执行以下操作 grep include html pattern R some path 效果很好 问题是如何grep某个目录中的所有html htm php文件 由此使用 grep
  • Android中如何使用Intent在Activity之间传递值?

    我想将一个活动类别中的位置值传递给另一个活动类别 我的代码如下 protected void onListItemClick ListView listView View v int position long id switch posi
  • Swing UI 线程是何时创建的?

    在运行 Swing 程序的过程中 什么时候 UI 线程 事件调度线程 EDT 首先产生 想必任何给定的 JVM 都可以做任何它想做的事 例如 始终在启动时生成 EDT 无论 或从未使用过 但作为一个实际问题 当 通常会创建 EDT 吗 它是
  • 如何使用 NHibernate 的 criteria api 和实体查询子属性以仅加载与谓词条件匹配的子属性

    假设如下 public class Order public virtual int OrderId get set public virtual ISet
  • 向由 proc_open() 打开的进程发送信号

    我们这里有一个实用程序正在使用proc open 调用 ssh 在远程计算机上运行命令 然而 在某些情况下 我们需要停止远程机器上的命令 但是proc close and proc terminate 不要将所需的信号发送到 ssh 连接的
  • 在 Typescript 中为“this”关键字键入注释

    我有一个独立的函数 旨在使用提供的上下文Function prototype call 例如 function foo return this bar gt foo call bar baz baz 有没有办法为以下内容提供 Typescr
  • 连接两个表并使用 where 子句过滤它们

    我在获取所需的 SQL 输出时遇到问题 我有两个这样的表 tblOrder ID User Status 1 1 0 2 1 0 3 2 1 表订单项 ID OrderID Product Quantity 1 1 A 2 2 1 B 1
  • 在实体框架代码优先中,为什么主键总是存储为聚集索引?

    我正在更多地了解一般索引 特别是聚集索引 在 Markus Winand 的这篇文章中 http use the index luke com blog 2014 01 unreasonable defaults primary key c
  • 如何将两个已排序数组合并为一个已排序数组? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 这是我在采访中被问到的问题 这是我提供的解决方案 public static int merge int a int b int an
  • 如何共享App.config?

    如何在 Visual Studio 解决方案中的多个项目之间共享 链接 App config 或 Web config In the 添加现有项目从 Visual Studio 获得的对话框解决方案浏览器 您可以将磁盘上另一个文件的链接添加
  • 将文件的路径位置更改为所需路径

    我想将文件中定义的内容路径 即logging properties 替换为jboss7位置的所需位置路径 基本上我正在使用安装程序 我必须浏览我的 jboss7 文件夹并将其定位到用户所需的任何位置 但在 jboss7 的几个文件中 有一些
  • 如何编辑swift错误断点?

    我想设置 Swift 错误断点来处理 Swift Error错误类型迅速 但我没有得到 What to set as Type value in BreakPoint 如果您只是创建一个 Swift 错误断点 它会在任何符合 ErrorTy
  • 为什么ostringstream在多线程环境下不能很好的工作

    也许有些事情很奇怪 当我在多线程环境中使用STL ostringstream 类时 我发现每个线程的执行时间随着线程数量的增加而线性增加 我不知道为什么会这样 我尝试检查 ostringstream 源代码 但找不到任何同步代码 ostri
  • 在android中围绕两个手指的中点缩放

    我有一个HorizontalScrollView其中有多个视图 我已经实施了pinch zoom gesture其中我的两根手指之间的多个视图被缩放 但我面临一个小问题 当我进行捏缩放时 捏缩放的中点正在移动 但为了用户体验 我希望该点保持
  • Next.js 从 Docker 容器无限重载

    我正在尝试制作一个简单的 Next js 应用程序 它使用 Firebase 身份验证并从 Docker 容器运行 以下内容在本地运行良好 从构建的 docker 容器运行 然而 当我部署到 Heroku 或 Google Cloud Ru
  • UIImageView 的触摸向上和触摸向下操作

    我想要实现的是 当用户触摸 UIImageView 时设置 Image1 当用户抬起手指时设置 Image2 我只能用此代码获取 UIGestureRecognizerState Ended var tap UITapGestureReco
  • 提高 python 脚本的吞吐量

    我正在通过 dig 处理来自 DNSBL 的数千个域名列表 创建 URL 和 IP 的 CSV 这是一个非常耗时的过程 可能需要几个小时 我的服务器的 DNSBL 每十五分钟更新一次 有没有办法可以提高 Python 脚本的吞吐量以跟上服务
  • 如何检查日期范围是否存在

    正如你从标题中可能注意到的 我的问题很难表达 但有一个问题 我有包含一些数据的 MySQL 表 在注册表中 我必须指定预订开始和结束时间 如何查询指定时间是否已登记预订 例如 我不应该能够添加从 13 20 开始到 15 00 结束的新预订
  • Azure API 管理和 API 版本控制

    Azure API 管理如何帮助我管理不同版本的 API 并将所选操作从旧版本的 API 重新路由到新版本的 API 有两种方法可以实现这一目标 您可以使用不包含版本段的服务 URL 配置 API 例如 https my api https
  • 将多个文件连接成一个文件对象,而不创建新文件

    这个问题与Python 连接文本文件 https stackoverflow com questions 13613336 python concatenate text files 我有一个清单file names like file1