我正在创建一段代码,该代码读取一个文件,将每一行分配给变量's',并评估该文件每一行的'activity'列中是否包含'substr_neg',并将其分配给一个' -'字符。
如果此字符为真,则我满足条件并在同一行的“名称”列中调用函数。
如果为false,则转到下一行。
(为澄清起见,此条件语句旨在查看substr_neg中的字符是否出现在“ ss”中,如果存在,则“执行某些操作”,否则,转到该文件的下一行)。
但是,问题是'if not'语句条件似乎未得到满足,因此变量'v'没有分配给函数'foofoo'的结果。
也:
if not(foo)
表示一种函数,该函数搜索文本文件中是否已存在字符串值,如果不存在,则将该函数应用于文件的名称列。
有人对为什么不满足“如果不是”陈述的条件有任何建议吗?也许范围原因?删除
if (char in substr_neg for char in ss):
连同elif语句可以解决所有问题...但是显然这不是我想要的。
substr_neg ='-'
var = 'str'
char = ''
with open("file.txt") as file:
for lines in file:
if not lines.startswith("#"):
s = lines
ss = s.split('\t')
if (char in substr_neg for char in ss):
name = ss[0];
activity = ss[2];
varvar ="str".format(var,
name)
else:
next(file)
if not foo(varvar):
v = foofoo(name)
foofoofoo(v)
break;
答案 0 :(得分:0)
文件变量不是列表,要将其转换为列表:
file_list = file.readlines()
#Then loop through file_list
for lines in file_list:
#...