AttributeError:'list'对象在比较文件名时没有属性'replace'

时间:2016-11-18 11:07:04

标签: python list replace glob

我希望将来自两个文件的信息组合在具有相似名称但不完全相同的不同目录中。为此,我想我会写一个if循环来检查文件名是否在末尾是相似的,并包含正确的信息以继续其余的代码。我尝试了以下代码:

import glob

GO_list=glob.glob('/home/anna/Inputs/*')
ID_list=glob.glob('/home/anna/data/ID/*')

for go in GO_list:
    for id in ID_list:
            if go.replace('/Inputs/','').replace('_GO_enrich','').replace('_Revigo','')[-20:] == id.replace('/data/ID/','').replace('_ensid','')[-20:]:

不幸的是,这给了我标题中说明的错误。 要检查文件名是否是列表,或者替换元素是否将它们转换为列表,我打印了以下内容:

print type(go)
print type(go.replace('/Inputs/','').replace('_GO_enrich','').replace('_Revigo','')[-20:])
print type(idag)
print type(idag.replace('/data/ID/','').replace('_ensid','')[-20:])

这些全部印刷:     输入'str'

我尝试的另一件事是用以下任一方法替换if语句:

if go.replace('/Inputs/','').replace('_GO_enrich','').replace('_Revigo','')[-20:] == 'test':

if id.replace('/data/ID/','').replace('_ensid','')[-20:] == 'test':

那些没有给出错误信息。

有谁知道Python在哪里看到列表以及如何更改它?

谢谢!

0 个答案:

没有答案