如何用python中的文件中的特定键字母提取某些单词
抱歉,我是Python的新手,从未接受过很多培训。
我想问一下如何在文件中提取一些键字母'
m_BSORx_kcat : 10
m_ENTERH_kcat : 10
m_TRPTRS_kcat : 10
m_EX_remnant1_e_kcat : 10
m_SCYSSL_kcat : 10
m_RNMK_kcat : 10
m_TAGtex_kcat : 10
m_URIDK2r_kcat : 10
m_TRPt2rpp_kcat : 10
m_GLUSy_kcat : 10
m_VPAMTr_copy2_kcat : 10
m_EX_galctn__L_e_km : 0.001
m_EX_galt_e_km : 0.001
m_EX_dgmp_e_km : 0.001
m_EX_galur_e_km : 0.001
m_EX_gam_e_km : 0.001
m_EX_gam6p_e_km : 0.001
m_EX_gbbtn_e_km : 0.001
。通过过滤“ _KCAT:10”,这些内部在一个大'.modelspec'文件中 并能够以M_BSORX_KCAT的形式获得它们:10,M_Enterh_kcat:10,M_trptrs_kcat:10,M_EX_REMNANT1_E_E_KCAT:10,M_SCYSSL_KCAT:10,M_RNMK_KCAT _kcat:10,m_glusy_kcat:10, m_vpamtr_copy2_kcat:10
我的最终目标是能够随机重新调整值的10%的值(-1,1)来执行遗传算法,
很多帮助。
Sorry, im fairly new to python, never been trained much.
I want to ask how do I extract words with certain key letters inside of a file './models/asm/Draft_km.modelspec' in python for example (these lines can be found inside of the .modelspec file):
m_BSORx_kcat : 10
m_ENTERH_kcat : 10
m_TRPTRS_kcat : 10
m_EX_remnant1_e_kcat : 10
m_SCYSSL_kcat : 10
m_RNMK_kcat : 10
m_TAGtex_kcat : 10
m_URIDK2r_kcat : 10
m_TRPt2rpp_kcat : 10
m_GLUSy_kcat : 10
m_VPAMTr_copy2_kcat : 10
m_EX_galctn__L_e_km : 0.001
m_EX_galt_e_km : 0.001
m_EX_dgmp_e_km : 0.001
m_EX_galur_e_km : 0.001
m_EX_gam_e_km : 0.001
m_EX_gam6p_e_km : 0.001
m_EX_gbbtn_e_km : 0.001
I want to extract these inside a large '.modelspec' file by filtering "_kcat : 10"
and be able to obtain them as m_BSORx_kcat : 10, m_ENTERH_kcat : 10, m_TRPTRS_kcat : 10, m_EX_remnant1_e_kcat : 10, m_SCYSSL_kcat : 10, m_RNMK_kcat : 10, m_TAGtex_kcat : 10, m_URIDK2r_kcat : 10, m_TRPt2rpp_kcat : 10, m_GLUSy_kcat : 10, m_VPAMTr_copy2_kcat : 10
My end goal is to be able to randomly reassign 10% of the value (-1,1) to do a genetic algorithm
Much help is appreciated
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
由于您似乎打算修改数据,因此首先将行分为列表,然后单独处理每行可能很有用。
如果您需要做的就是检查一个子字符串,则可以这样检查每行:
如果您需要匹配更复杂的模式,那么正则表达式,如Tim Biegeleisen的答案,如蒂姆·比格利森(Tim Biegeleisen)的答案是必经之路。
Since you seem to be planning to modify the data, it might be useful to first split the lines into a list and then process each line individually.
If all you need to do is check for a substring, you can check each line like so:
If you need to match more complex patterns, regular expressions as in Tim Biegeleisen's answer are the way to go.
使用
re.findall
我们可以尝试:此打印:
Using
re.findall
we can try:This prints: