回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我正在写一个小的python脚本,从dir中的几个.c文件中读取参数及其值。参数通常采用以下格式:</p>
<pre><code>uint8 param1 = 1;
sint8 param2 = 2;
</code></pre>
<p>然而,有时它们看起来是这样的:</p>
<pre><code>param3 = {
1, 2, 3,
4, 5, 6
};
</code></pre>
<p>甚至:</p>
<pre><code>param4 = {
1, 2, 3,
{
4, 5, 6
},
};
</code></pre>
<p>正如您在涉及<code>param3 and param4</code>的情况中所怀疑的,行将是<code>param3 = {</code>,对于<code>param4</code>也是一样的,因此不包含任何实际值。我想我应该在调用值获取方法之前先解决它,在一行中搜索“{”,如果找到了它,那么在包含“{”的行下面的行中找到“;”的下一次迭代,在任何换行之间,制表符和空格都应该被删除。
这是我希望该方法在正确运行时显示的输出。你知道吗</p>
<pre><code>param3 = {1,2,3,4,5,6};
param4 = {1,2,3,{4,5,6},};
</code></pre>
<p>这就是我正在使用的布局,<code>formatFile(line)</code>正是我需要帮助的方法。你知道吗</p>
<pre><code>for root, dirs, files in os.walk(PATH_DST_SOURCE):
for file in files:
if file.endswith('.c'):
with open(os.path.join(root, file), 'r') as this:
for line in this:
formatFile(line)
</code></pre>
<p>不幸的是,我不知道如何做到这一点,并希望得到一些帮助,甚至推动在正确的方向。当然,如果有更好的方法来解决我的问题,那么这些也是受欢迎的!你知道吗</p>