Python 从磁盘刷新文件

2024-02-27

我有一个 python 脚本,它调用系统程序并从文件读取输出out.txt,作用于该输出并循环。然而,它不起作用,仔细调查发现,python脚本只是打开out.txt一次,然后继续阅读旧版本。如何让 python 脚本在每次迭代时重新读取文件?我在这里看到了一个类似的问题,但它是关于一个与程序一起运行的 python 脚本,而不是调用它,并且该解决方案不起作用。我尝试在循环返回之前关闭文件,但它没有执行任何操作。

编辑: 我已经尝试过关闭和打开,但没有成功。这是代码:

import subprocess, os, sys

filename = sys.argv[1]
file = open(filename,'r')
foo = open('foo','w')
foo.write(file.read().rstrip())
foo = open('foo','a')
crap = open(os.devnull,'wb')
numSolutions = 0

while True:
    subprocess.call(["minisat", "foo", "out"], stdout=crap,stderr=crap)
    out = open('out','r')
    if out.readline().rstrip() == "SAT":
        numSolutions += 1
        clause = out.readline().rstrip()
        clause = clause.split(" ")
        print clause
        clause = map(int,clause)
        clause = map(lambda x: -x,clause)
        output = ' '.join(map(lambda x: str(x),clause))
        print output
        foo.write('\n'+output)
        out.close()
    else:
        break

print "There are ", numSolutions, " solutions."

你需要冲洗foo以便外部程序可以看到其最新的变化。当您写入文件时,数据会在本地进程中缓冲并以较大的块发送到系统。这样做是因为更新系统文件的成本相对较高。在您的情况下,您需要强制刷新数据,以便 minisat 可以看到它。

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

Python 从磁盘刷新文件 的相关文章

  • 在 Python 中解析 TCL 列表

    我需要在双括号上拆分以空格分隔的 TCL 列表 例如 OUTPUT 172 25 50 10 01 01 Ethernet 172 25 50 10 01 02 Ethernet Traffic Item 1 172 25 50 10 01
  • Pandas set_levels,如何避免标签排序?

    我使用时遇到问题set levels多索引 from io import StringIO txt Name Height Age Metres A 1 25 B 95 1 df pd read csv StringIO txt heade
  • 让 VoiceChannel.members 和 Guild.members 返回完整列表的问题

    每当我尝试使用 VoiceChannel members 或 Guild members 时 它都不会提供适用成员的完整列表 我从文本命令的上下文中获取 VoiceChannel 和 Guild 如下所示 bot command name
  • 我应该使用 Python 双端队列还是列表作为堆栈? [复制]

    这个问题在这里已经有答案了 我想要一个可以用作堆栈的 Python 对象 使用双端队列还是列表更好 元素数量较少还是数量较多有什么区别 您的情况可能会根据您的应用程序和具体用例而有所不同 但在一般情况下 列表非常适合堆栈 append is
  • Python 3d 绘图设置固定色阶

    我正在尝试绘制两个 3d 数组 第一个数组的 z 值在范围内 0 15 0 15 第二个来自 0 001 0 001 当我绘图时 色标自动遵循数据范围 如何设置自定义比例 我不想看到 0 001 的浅色 而应该看到 0 15 的浅色 如何修
  • 为什么 web2py 在启动时崩溃?

    我正在尝试让 web2py 在 Ubuntu 机器上运行 所有文档似乎都表明要在 nix 系统上运行它 您需要下载源代码并执行以下操作 蟒蛇 web2py py 我抓住了source http www web2py com examples
  • PyQt 使用 ctrl+Enter 触发按钮

    我正在尝试在我的应用程序中触发 确定 按钮 我当前尝试的代码是这样的 self okPushButton setShortcut ctrl Enter 然而 它不起作用 这是有道理的 我尝试查找一些按键序列here http ftp ics
  • GUI(输入和输出矩阵)?

    我需要创建一个 GUI 将数据输入到矩阵或表格中并读取此表单数据 完美的解决方案是限制输入表单仅允许float 例如 A 1 02 0 25 0 30 0 515 0 41 1 13 0 15 1 555 0 25 0 14 1 21 2
  • 打印包含字符串和其他 2 个变量的变量

    var a 8 var b 3 var c hello my name is var a and var b bye print var c 当我运行程序时 var c 会像这样打印出来 hello my name is 8 and 3 b
  • 从 Powershell 脚本安装 Python

    当以管理员身份从 PowerShell 命令行运行以下命令时 可以在 Windows 11 上成功安装 Python c temp python 3 11 4 amd64 exe quiet InstallAllUsers 0 Instal
  • Python 3:将字符串转换为变量[重复]

    这个问题在这里已经有答案了 我正在从 txt 文件读取文本 并且需要使用我读取的数据之一作为类实例的变量 class Sports def init self players 0 location name self players pla
  • 无法导入 langchain.agents.load_tools

    我正在尝试使用 LangChain Agents 但无法导入 load tools 版本 langchain 0 0 27 我尝试过这些 from langchain agents import initialize agent from
  • 嵌套作用域和 Lambda

    def funct x 4 action lambda n x n return action x funct print x 2 prints 16 我不太明白为什么2会自动分配给n n是返回的匿名函数的参数funct 完全等价的定义fu
  • python的shutil.move()在linux上是原子的吗?

    我想知道python的shutil move在linux上是否是原子的 如果源文件和目标文件位于两个不同的分区上 行为是否不同 或者与它们存在于同一分区上时的行为相同吗 我更关心的是如果源文件和目标文件位于同一分区上 shutil move
  • 通过Python连接到Bigquery:ProjectId和DatasetId必须非空

    我编写了以下脚本来通过 SDK 将 Big Query 连接到 Python 如下所示 from google cloud import bigquery client bigquery Client project My First Pr
  • Pandas 组合不同索引的数据帧

    我有两个数据框df 1 and df 2具有不同的索引和列 但是 有一些索引和列重叠 我创建了一个数据框df索引和列的并集 因此不存在重复的索引或列 我想填写数据框df通过以下方式 for x in df index for y in df
  • 将 Matlab 的 datenum 格式转换为 Python

    我刚刚开始从 Matlab 迁移到 Python 2 7 在读取 mat 文件时遇到一些问题 时间信息以 Matlab 的日期数字格式存储 对于那些不熟悉它的人 日期序列号将日历日期表示为自固定基准日期以来已经过去的天数 在 MATLAB
  • Python GTK+ 画布

    我目前正在通过 PyGobject 学习 GTK 需要画布之类的东西 我已经搜索了文档 发现两个小部件似乎可以完成这项工作 GtkDrawingArea 和 GtkLayout 我需要一些基本函数 如 fillrect 或 drawline
  • 如何使用 Python 3 检查目录是否包含文件

    我到处寻找这个答案但找不到 我正在尝试编写一个脚本来搜索特定的子文件夹 然后检查它是否包含任何文件 如果包含 则写出该文件夹的路径 我已经弄清楚了子文件夹搜索部分 但检查文件却难倒了我 我发现了有关如何检查文件夹是否为空的多个建议 并且我尝
  • 如何使用 AWS Lambda Python 读取 AWS S3 存储的 Word 文档(.doc 和 .docx)文件内容?

    我的场景是 我尝试使用 python 实现从 Aws Lambda 读取 AWS 存储的 S3 word 文档 doc 和 docx 文件内容 下面的代码是我使用的 我的问题是我可以获取文件名 但无法读取内容 def lambda hand

随机推荐

  • 基类与实用类

    两者应该优先选择哪一个 有一些方法由 A B 和 C 类调用 这些方法是否应该封装在 D 类 A B 和 C 的基础 中 OR 是否应该将这些方法封装在类 U 中 并且其他类创建其对象以根据需要使用这些方法 应该在什么基础上做出决定 Tha
  • Azure 机器学习 REST 端点 - 无法获取

    我创建了一个带有 REST 端点的 Azure 机器学习模型作为使用它的方式 当我使用 Postman 运行服务时 一切似乎都工作正常 但是 当我尝试使用 javascript 创建 HTML 网站 Codepen 来调用 REST 端点时
  • 在 Selenium IDE 中,如何通过下拉菜单中的索引选择选项?

    问题是选项标签发生变化 所以我无法按标签抓取 我需要通过说选项 0 来抓取 任何想法 我正在使用 Selenium IDE Firefox 这是我要问的部分 tr td select td td dateRangeString td td
  • 什么是 PDO?为什么要使用它?

    人们不断提到我在处理 MySQL 时应该在 PHP 中使用 PDO 我以前从未听说过这一点 什么是PDO 它是如何使用的以及有哪些优点和缺点 Thanks 将 PDO 视为与 PHP 一起打包的内置类 使您可以更轻松地与数据库进行交互 在开
  • 当字符串为空时将字符串值替换为“0”

    我从文本框中获取一个值并将其转换为十进制 但是 文本框值可能为空 那么 我该如何处理文本框中的空字符串呢 不幸的是 我有大约 50 个文本框需要处理 所以像 用 IF 条件检查 null 这样的答案对我没有帮助 如果我使用所有这些 IF 条
  • 从 GNU 到Solaris 的等效日期

    In GNU使用命令 date 我可以做到这一点 date d 4 day datei 20130101 i 5 date d datei i day 但我喜欢知道 我怎样才能在 Solaris 中做到这一点 使用日期命令 Tcl 有一个很
  • Pylance - pandas 方法的类型部分未知

    如果我尝试在严格模式下验证使用 pandas 方法和 pylance 的代码 则会收到验证错误 import pandas as pd ser pd Series float pd Series 1 2 5 3 print ser max
  • 如何使用管道将数据帧列作为函数中的参数传递?

    我正在摆弄内置数据集economics在 R 中 我试图将数据帧列作为参数传递到使用管道的函数中 dplyr https genomicsclass github io book pages dplyr tutorial html gt 但
  • 如何禁用 Android 的 Facebook 单点登录 - Facebook-android-sdk

    facebook android 的 SSO 每次都会给我 invalid key 我尝试用各种方法进行调试 但它不起作用 那么 即使设备上安装了 Facebook 应用程序 是否有任何方法 黑客可以禁用单点登录并使用 Web 视图身份验证
  • Phonegap 插件:如何在 Android 中将 Base64 字符串转换为 PNG 图像

    Android 不允许本机应用程序 例如基于 Phonegap 的应用程序 写入二进制文件 一个常见的应用是将 Base64 字符串转换为图像 那么 您如何解决这个问题呢 解决方案 该插件可转换 Base64 PNG 字符串并生成图像到 s
  • 如何将 ubuntu 命令提示符下的 jar 输出重定向到文本文件

    我创建了 jar 文件并使用以下命令运行它 java jar niidle jar arguments 它显示正确的输出 但我看不到整个输出 我想看到整个输出 那么当我运行以下命令时 如何将整个事情重定向到文本文件 java jar nii
  • 如何在 PHP 中复制 Excel FV 函数?

    我正在将一些相当复杂的计算从 Excel 电子表格转换为 PHP 我被困在 Excel 的 FV 函数的转换上 它的定义如下 FV interest rate number payments payment PV Type 我已经为此工作了
  • 更改源文件后,Visual Studio 2010 提示“构建失败,但没有错误”

    我有一个包含几个项目的 Visual Studio 2010 解决方案 我可以使用 构建 gt 构建解决方案 或 构建 gt 构建 MyCompany MyProduct MyProject 成功构建 构建后 我按 CTRL F5 并成功运
  • ASP.NET MVC 模型状态

    ModelState IsValid 在我的控制器中为我返回 false 我知道这意味着模型绑定时发现一个或多个模型错误 我的问题是如何查看错误 我注意到我的特定 ModelState 有 6 个项目 如果我尝试做其中任何一个 ModelS
  • 绕过 try/catch 块以检查异常的 Lambda 表达式

    由于我尝试提取一些在大多数项目中使用的常见包装 lambda 例程 我已经能够创建CheckedFunction 子类为PermeableFunction绕过 try catch 块的功能接口 我已经在 Windows v1 8 0 251
  • Python requests lib 花费的时间比执行 get 请求的时间要长

    所以我有这个代码 每当我运行代码并到达第 3 行时 执行 get 请求大约需要 20 秒 没有理由花这么长时间 而且每次都花很长时间 有什么帮助吗 def get balance addr try r requests get http b
  • 如何在 Java 中固定字节数组?

    有没有办法在java中固定字节数组 这样它就不会被移动 压缩 我正在开发一个应用程序 该应用程序旨在在运行时具有零 GC 并且我想使用固定到内存映射区域的原始字节数组 有什么办法可以做到这一点或者破解我的方法吗 您可以使用 ByteBuff
  • .NET Core 3 预览版 4:“AddNewtonsoftJson”未定义

    使用 NET Core 3 预览版 4 F ASP NET MVC 项目的 API 模板无法构建 这没有对模板进行任何更改 这是失败的代码 type Startup private member this ConfigureServices
  • 将 DatePicker 添加到模态时出现问题 - 在背景中显示

    我正在尝试插入我在这里找到的 DatePicker http www eyecon ro bootstrap datepicker http www eyecon ro bootstrap datepicker 但我无法让它显示在我的模态前
  • Python 从磁盘刷新文件

    我有一个 python 脚本 它调用系统程序并从文件读取输出out txt 作用于该输出并循环 然而 它不起作用 仔细调查发现 python脚本只是打开out txt一次 然后继续阅读旧版本 如何让 python 脚本在每次迭代时重新读取文