我正在阅读一百多万个文件来删除一些数据.这些文件通常非常统一,但偶尔也会出现我希望找不到的东西.
例如,我希望一些sgml代码能够识别我需要的值
for data_line in temp #temp is a list of lines from a file
if <VARIABLENAME> in data_line:
VARIABLE_VAL=data_line.split('>')[-1]
Run Code Online (Sandbox Code Playgroud)
后来我用了VARIABLE_VAL.但我有时会得到一个例外:文件中没有行
<VARIABLENAME>theName
Run Code Online (Sandbox Code Playgroud)
为了解决这个问题,我在处理完所有行后添加了这一行:
try:
if VARIABLE_VAL:
pass
except NameError:
VARIABLE_VAL=somethingELSE
Run Code Online (Sandbox Code Playgroud)
我已经看到了某个地方(但我找不到了)一个看起来像的解决方案
if not VARIABLE_VAL:
VARIABLE_VAL=somethingELSE
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激
只需在循环之前将变量初始化为其默认值:
VARIABLE_VAL = somethingELSE
for dataline in temp: ...
Run Code Online (Sandbox Code Playgroud)
这样,VARIABLE_VAL除非绑定到循环中的其他内容,否则将保留其初始默认值,并且您无需进行任何奇怪的测试以确保这一点.
| 归档时间: |
|
| 查看次数: |
1629 次 |
| 最近记录: |