[英]Python 2 : AttributeError: 'list' object has no attribute 'split'
[英]AttributeError: 'list' object has no attribute 'split' -PyTorch
class Flowers(data.Dataset):
def __init__(self, txt, transform=None, target_transform=None, loader=default_loader):
super(Flowers, self).__init__()
fh = open(txt, 'r')
images = []
for line in fh:
line = line.strip('\n')
line = line.rsplit()
words = line.split()
words = str(list.split)
images.append((words[0], int(words[1])))
self.imgs = images
self.transform = transform
self.target_transform = target_transform
self.loader = loader
正如上面的代码,我试图通过一个充满路径的文本来读取我的图片数据集。 但是,我收到这样的错误:
File "/Users/paulwang/Library/Application Support/JetBrains/PyCharmCE2020.1/scratches/VGGNet.py", line 130, in <module>
train_data = Flowers(txt='/Users/paulwang/Desktop/flower_photos_train/train.txt', transform=transform)
File "/Users/paulwang/Library/Application Support/JetBrains/PyCharmCE2020.1/scratches/VGGNet.py", line 100, in __init__
words = line.split()
AttributeError: 'list' object has no attribute 'split'
我已经经历了一些类似的问题,但我仍然无法弄清楚如何解决这个问题。 我真诚地寻求帮助。
问题出在这对语句中:
line = line.rsplit()
到目前为止, line
是一个字符串。 你只是把它变成了一个字符串列表。 因此,当您尝试下一行时:
words = line.split()
你正在尝试非法操作。 更糟糕的是,在下一行中,您破坏了第二行的结果并将其替换为split
方法的字符串表示形式。
我强烈建议您重复有关字符串处理的教程。 然后再次完成您的编码。 在您编写的每一行或两行之后,添加print
以验证先前语句的类型和值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.