我想在下面的文件中以特定间隔(例如每30分钟)更改omega的值。该文件在运行时由另一个程序使用。我想慢慢地从0-10斜坡RPM值(线上的最后一个入口)。基本上,下面的文件中的值“5”需要以每30分钟1次的增量从0-10变化。在python中每20分钟编辑一个文件中的特定单词
rotor
{
// Fixed patches (by default they 'move' with the MRF zone)
nonRotatingPatches(); //if something blows up ..fill the non rotating patches between "(baffles, pressureOutlet etc)"
origin origin [0 1 0 0 0 0 0] (0 0 0);
axis axis [0 0 0 0 0 0 0] (0 0 1);
omega omega [0 0 -1 0 0 0 0] 5;
}
我曾尝试下面的代码(我不知道该怎么办的,每30分钟部分),而是由file.writelines(data)
方法写入的数据似乎并没有纳入我作出值的变化。
import os
import sys
import fileinput
with open('MRFzones', 'r') as file:
data = file.readlines()
# The line omega is line 27 in the file.
line = data[26]
word = line.split()
# >>> data[26].split()
# ['omega', 'omega', '[0', '0', '-1', '0', '0', '0', '0]', '5;']
# The part i want to change is the 10th word.
word[9] = '10;'
# Write everything back.
with open('MRFzones', 'w') as file:
file.writelines(data)
这是行不通的 - 在更新的文件中5未被更改为10。有人可以帮我实施吗?我可能甚至没有正确的想法,所以我们可以在必要时从头开始编写代码。
感谢, 苏雷什
THA nks的响应..我正在学习Python,并试图使用该程序做一些自动化!是的,我在unix中使用了类似的脚本来做同样的事情。你的要简单得多,但是一般情况下应该使用python!? -suresh – Suresh 2011-05-02 08:30:59
@user:我明白了,如果你的目标是学习Python而不是完成任务:)我的答案并不是非常有用:) – 2011-05-02 08:33:41
就像我说的那样..工作正在完成,但我也想知道如果我不得不使用Python,我将如何去呢? – Suresh 2011-05-02 08:39:03