gpt4 book ai didi

Python文件输出添加奇怪的字符

转载 作者:行者123 更新时间:2023-11-30 17:22:23 27 4
gpt4 key购买 nike

事实证明这是我的 C 程序的错误。我将 printf 更改为仅打印预设字符串并将其重定向到文件,并且额外的字符仍然存在。我还是不知道为什么。

嗨,我正在编写一个 python 脚本来对我正在并行执行的 C 程序运行分析。现在写下,我在一个名为测试的单独文件中拥有所使用的处理器数量以及想要传递给 C 程序的迭代。我对 Python 非常陌生,这是我编写的示例代码,用于弄清楚如何将结果写入最终填充为 .csv 文件的文件。

#!/usr/bin/env python
import subprocess
mpiProcess = "runmpi"
piProcess = "picalc"

tests = open("tests.txt")
analysis = open("analysis.txt", "w")

def runPiCalc (numProcs, numIterations):
numProcs = str(numProcs)
numIterations = str(numIterations)
args = (mpiProcess, piProcess, numProcs, numIterations)
popen = subprocess.Popen(args, stdout=subprocess.PIPE)
popen.wait()
output = popen.stdout.read()
return output

def runTest (testArgs):
testProcs = testArgs[0]
testIterations = testArgs[1]
output = runPiCalc(testProcs,testIterations)
appendResults(output)

def appendResults (results):
print results
analysis.write(results + '\n')

for testLine in tests:
testArgs = testLine.split()
runTest(testArgs)

tests.close()
analysis.close()

我现在的问题是,当我“打印结果”到标准输出时,输出按预期输出,我得到 3.14blablablablawhatever。当我检查analysis.txt文件时,在我的圆周率计算显示之前,我在每行的开头得到了[H[2J(编码为ESC的奇怪字符,而不是在网络上)。我不明白这是为什么。为什么 file.write 的输出与 print 不同。这又是我第一次使用 Python,所以我可能只是错过了一些简单的东西。

这是在我通过 sshing 连接到的 ubuntu 服务器上。

这是tests.txt和一张角色在linux上的样子的图片 characters and test

最佳答案

问题是我有一个 bash 脚本执行我的 C 程序。 bash 脚本在程序输出之前插入奇怪的字符并将其添加到其标准输出中。将我调用的命令直接放入 python 脚本中而不是调用 bash 脚本解决了问题。

关于Python文件输出添加奇怪的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28036811/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com