冗余用于环路输出



我正在尝试将一个长 typedef(C( 分隔成它的单词,然后打印每行的第二个单词

variable = """int32_t  adc_cal_A;             / Simple point slope   calculation adjustment needed for the ADC */ rn
int32_t  adc_cal_B;                 /* y = Ax + B */"""
list = variable.splitlines()
for line in list:
wordlist =  line.split()
for line in wordlist:
output = wordlist[1][:-1]
print output

它在我的测试列表中成功打印了每行的第二个单词,但它多次重复该单词。结果如下:

adc_cal_A
adc_cal_A
adc_cal_A
adc_cal_A
adc_cal_A
adc_cal_A
adc_cal_A
adc_cal_A
adc_cal_A
adc_cal_A
adc_cal_A
adc_cal_A
adc_cal_A
adc_cal_B
adc_cal_B
adc_cal_B
adc_cal_B
adc_cal_B
adc_cal_B
adc_cal_B
adc_cal_B
adc_cal_B
Process finished with exit code 0

任何人都知道为什么会这样。有没有简单的解决方案?

以下是实现所需内容的简单方法:

variable = """int32_t  adc_cal_A;                 / Simple point slope   calculation adjustment needed for the ADC */ rn
int32_t  adc_cal_B;                 /* y = Ax + B */"""
for num_line, line in enumerate(variable.splitlines()):
try:
print(f"line={num_line} token={line.split()[1]}")
except Exception as e:
# Probably line is empty?
pass

输出:

line=0 token=adc_cal_A;
line=2 token=adc_cal_B;

如果您只想要第二个令牌而没有其他好东西,请使用print(line.split()[1]),即:

adc_cal_A;
adc_cal_B;

最新更新