擅长:python、mysql、java
<p>你想做什么还不完全清楚。我的解释是:您有一组预定义的命名变量。如果文件中的一行以变量的名称开头,则需要向该变量添加后续值。具体来说,变量名和给定值之间会有一些空格。以下代码实现此解释:</p>
<pre class="lang-py prettyprint-override"><code>with open('F:/Software/ogamebot/expocounter/allexpo.txt', 'r') as file: # open the file
lines = list(file) # get a list of lines of text
variables = {'X': 0, 'Y': 0, 'Z': 0} # define our variables in a dictionary (all initially 0)
for line in lines: # iterate over each line
for var_name in variables:
# for each variable, check if the line begins with that variable name
if line.startswith(var_name):
variables[var_name] += float(line.split()[1])
# if so, add the value to that variable
# line.split() splits the line into elements based on whitespace
# we then take the second element, and convert it to a number
print(variables) # output the results
</code></pre>
<p>这当然适用于您的特定示例,但这是您通常想要的吗?例如,变量名和值之间是否总是有空格?还请注意,这段代码不会将值加载到python变量中(即<code>X</code>存储为<code>variables['X']</code>,而不仅仅是<code>X</code>)-这将更难以整洁的方式完成</p>