我们可以使用 python 变量来保存整个文件吗?

2024-05-08

假设我们知道所有文件都将被加载到内存中并且我们负担得起, 在 python 变量中加载整个文件(可能是二进制文件)有哪些缺点(如果有)或限制(如果有)。如果这在技术上是可行的,是否应该避免这种情况,为什么?

关于文件大小问题,该解决方案的最大大小应限制为多少?为什么?

实际的加载代码可能是中提出的代码这个 stackoverflow 条目 https://stackoverflow.com/questions/1432126/how-to-get-content-of-a-small-ascii-file-in-python.

示例代码是:

def file_get_contents(filename):
    with open(filename) as f:
        return f.read()

content = file_get_contents('/bin/kill')

... code manipulating 'content' ...

[编辑] 想到的代码操作(但可能不适用)是标准列表/字符串运算符(方括号、“+”号)或一些字符串运算符(“len”、“in”运算符、“count”、“endswith”/ “开始”、“分割”、“翻译”...)。


  • 是的你可以
  • 唯一的缺点是内存占用,如果文件很大,速度也可能会加快。
  • 文件大小应限制为内存空间大小。

一般来说,有更好的方法可以做到这一点,但是对于您知道内存不是问题的一次性脚本,当然可以。

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

我们可以使用 python 变量来保存整个文件吗? 的相关文章

随机推荐

  • 部分模板专业化仅限于某些类型

    是否可以编写仅用于类类型的部分模板专业化 例如 从特定类继承或遵守可以通过类型特征表达的某些其他约束 即 像这样 class A class B public A template
  • 错误:Dojo 和 jQuery-UI 中的 multipleDefine 冲突

    我正在尝试创建一个可编辑的 SlickGrid 使用 jquery ui 并使用 Dojo 当我的页面包含 控制台显示 Error multipleDefine return mix new Error error src dojoLoad
  • 如何在iPhone模拟器中更改时间和时区?

    如何更改时间和时区iPhone http en wikipedia org wiki IPhone模拟器 我猜它使用您的系统时区 因此更改系统偏好设置中的 TZ 可能会成功
  • 如何让 NSURLRequest 获取 Twitter 请求令牌?

    我正在尝试使用以下代码从 Twitter 获取请求令牌 NSMutableURLRequest mURLRequest NSMutableURLRequest alloc initWithURL NSURL URLWithString ht
  • CSS 3 从底部渐变 n 像素 - Webkit/Safari

    有没有办法创建带有停止点的渐变n距离元素底部边缘的像素 例如 对于 Moz Firefox 它看起来像 moz linear gradient center bottom f00 2 d00 31px 还应该注意的是 该渐变有一个伴随渐变
  • 当工作站锁定然后解锁时,如何防止窗口大小调整?

    我们有一个在多显示器环境中运行的应用程序 用户通常将应用程序对话框分散到多个监视器上 如果用户锁定工作站 然后解锁它 我们的应用程序就会被告知调整大小 我们的用户发现这种行为令人沮丧 因为他们随后花了一些时间恢复以前的布局 我们还不确定是图
  • MySql:将多项选择数据存储在数据库中

    我的表单中有一个复选框列表 用户可以选择其中任何一个 也可以选择全部 认为用户选择他感兴趣的运动类型 我需要最好的数据库结构来存储这个用户选择 这样 将来我就可以获得所有这些数据 我想 我无法将每个 用户 ID 运动 选择作为新行存储在数据
  • 仅为一个通用命令处理程序注册 Autofac 装饰器

    我们有很多通用命令处理程序 它们由 Autofac 以开放通用方式注册 我们有几个装饰器来装饰所有的手柄 现在我需要仅为一个命令处理程序注册一个装饰器 而不影响所有其他命令处理程序 这是我的尝试 但我似乎没有正确注册 这是与我们的代码类似的
  • 将向量作为绑定传递给 for 宏时出现问题

    我有任意数量的列表 我想使用 for 宏来处理它们 我想创建一个传递向量作为绑定的函数 因为列表的数量各不相同 如果我对绑定进行硬编码 它会按我的预期工作 gt def list1 pink green gt def list2 dog c
  • 字段的特定 MessageBodyWriter

    假设我在 JAX RS 1 环境 带有 Jackson 提供程序的 RestEasy 2 中有一个数据类 如下所示 class Foo int id String name Bar bar with Bar being class Bar
  • 创建响应式 SVG 剪辑路径 / 使 SVG 响应式

    我正在尝试使用创建响应式 SVG 剪辑路径
  • HTML5 -

    Reading 一篇文章 http html5doctor com the article element on the
  • 如何在expressjs中调用另一个api?

    我有一个这样的API app get test req res gt console log this is test 和另一个API app get check req res gt I want to call test api wit
  • 如何显示图像的其他图像是无

    经过我认真思考后 我只是不知道我的代码有什么问题以及如何修改它 问题是这样的 当用户插入 url 时 如果该 url 是指向 youtube 的链接 则需要显示 youtube 缩略图 如果该网址不是 YouTube 视频的链接 则需要显示
  • 加载列表之前确定ListView的高度

    是否可以在将 ListView 呈现在屏幕上之前确定其高度 如果我的 ListView 有 3 个项目 并且高度仅限于这 3 个项目 并且 ListView 不占据整个屏幕的高度 我可以在 Android 在屏幕上显示项目之前确定高度吗 使
  • 我是否需要注册 APN 才能在 iOS 中使用 GCM 推送通知?

    我正在用 cordova 构建一个混合应用程序 我正在使用phonegap plugin push 注册到GCM 这样我就可以将通知推送到Android 我的问题是我是否需要 APNs 证书才能在 iOS 中使用 GCM 或者仅使用插件并注
  • 为什么Intellij IDEA在nodejs中显示require undefined?

    有谁知道为什么intellij IDEA强调需要 我怎样才能解决这个问题 我在 Windows 上使用 IntelliJ IDEA 15 0 3 也遇到了同样的问题 解决方案是 文件 gt 设置 gt 语言和框架 gt Nodejs 和 N
  • DocumentClientException“请求大小太大”

    我创建了 JSON byte length 太大 当我尝试使用 api java 时 documentClient createDocument getTodoCollection getSelfLink document null fal
  • Firebase Crashlytics 与 UncaughtExceptionHandler

    我集成了 Firebase Crashlytics 版本 2 9 1 来挖掘崩溃 以覆盖我的应用程序的性能和稳定性 如果应用程序有自己的 UncaughtExceptionHandler 则不会在 firebase crashlytics
  • 我们可以使用 python 变量来保存整个文件吗?

    假设我们知道所有文件都将被加载到内存中并且我们负担得起 在 python 变量中加载整个文件 可能是二进制文件 有哪些缺点 如果有 或限制 如果有 如果这在技术上是可行的 是否应该避免这种情况 为什么 关于文件大小问题 该解决方案的最大大小