首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不要写以特定字符串开头的行

不要写以特定字符串开头的行
EN

Stack Overflow用户
提问于 2017-02-19 02:11:20
回答 1查看 36关注 0票数 0

我试图省略以"KO“开头的代码行,但是当我运行代码时,这些行仍然会写入输出文件。我试着调用一个布尔表达式,看看"KO“是否在geneData中,结果是真的。我被这部分卡住了。

代码语言:javascript
复制
#Read in hsa links
hsa = []
with open ('/users/skylake/desktop/pathway-HSAs.txt', 'r') as file:
    for line in file:
        line = line.strip()
        hsa.append(line)

#Import Modules | Create KEGG Variable
from bioservices.kegg import KEGG
import re
k = KEGG()


##Data Parsing | Writing to File

#for i in range(len(hsa)):
data = k.get(hsa[2])
dict_data = k.parse(data)

#Prep title of file
nameData = re.sub("\[u'", "", str(dict_data['NAME']))
nameData = re.sub(" - Homo sapiens(human)']", "", nameData)
f = open('/Users/Skylake/Desktop/pathway-info/' + nameData + '.txt' , 'w')

#Prep gene data format
geneData = re.sub("', u'", "',\n", str(dict_data['GENE']))
geneData = re.sub("': u'", ": ", geneData)
geneData = re.sub("{u'", "", geneData)
geneData = re.sub("'}", "", geneData)
geneData = re.sub("\[KO", "\nKO", geneData)
f.write("Genes\n")
f.writelines([line for line in geneData if 'KO' not in line])


#Prep compound data format
if 'COMPOUND' in dict_data:
    compData = re.sub("\"", "'", str(dict_data['COMPOUND']))
    compData = re.sub("', u'", "\n", compData)
    compData = re.sub("': u'", ": ", compData)
    compData = re.sub("{u'", "", compData)
    compData = re.sub("'}", "", compData)
    f.write("\nCompounds\n")
    f.write(compData)

#Close file

f.close()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-19 02:41:57

您的genedata变量是单个字符串。当您迭代它时,您正在处理字符串的各个字符;您的line变量的命名有严重的错误。两个字符的字符串'KO‘显然不包含在这些单个字符中,因此布尔条件始终为True。

由于没有示例输入数据,也没有任何预期的输出数据,我无法判断您正在尝试做的事情是否足够好以提出解决方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42318867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档