如何将多个对象的列表附加到文件路径的末尾?

时间:2016-07-19 10:08:08

标签: python list python-2.7 function

我创建了一个for循环来创建一个包含字符串'size_i'的列表,所以我有size_01,size_02,size_03等一直到size_84。像:

def size():
    x = list()    
    for i in range(0,84):
        x = x.append('size' + str(i))
return x

这很好用。现在我想将该列表中的每个“大小”保存到文件路径的末尾:

d_path = /home/Jake/Documents/sizes/size_01
       = /home/Jake/Documents/sizes/size_02

等...

但由于某种原因,我无法让它工作,我不知道我哪里出错了!以下是我的全部尝试:

import os

def size():
    d_path = '/home/Jake/Documents/sizes'
    x = list()
    for i in range(0,84):
        x = x.append('size_' + str(i))
        p = os.path.join(d_path,x)
    return p

6 个答案:

答案 0 :(得分:0)

根据我对这个问题的理解,你写错了你的功能。 x.append('size_' + str(i))会返回None,所以基本上你用None中的x = x.append('size_' + str(i))替换了x,当你尝试加入时会出错。 你当前的函数正在返回你想要创建的姓氏,即'/ home / Jake / Documents / sizes / size_83',我相信你想要返回一个包含所有名字的列表。

这样可行。

import os

def size():
    d_path = '/home/Jake/Documents/sizes'
    x = list()
    for i in range(0,84):
        tmp = 'size_' + str(i)
        p = os.path.join(d_path,tmp)
        x.append(p)
    return x

print size()

答案 1 :(得分:0)

这对你有用吗?

import os

def size():
    d_path = '/home/Jake/Documents/sizes'
    x = []
    p = []
    for i in range(0,84):
        z = 'size_' + str(i)

        x.append(z)
        p.append(d_path+z)
    return p

答案 2 :(得分:0)

试试这个

import os

def size():
    d_path = '/home/Jake/Documents/sizes'
    x = list()
    for i in range(0,84):
        x.append(os.path.join(d_path,'size_' + str(i)))
    return x

答案 3 :(得分:0)

类列表中附加的函数不返回a 重要的价值。

答案 4 :(得分:0)

试试这个:

DoubleProperty

答案 5 :(得分:0)

其中一些答案是不必要的冗长而复杂的,但可能比以下片段更能洞察正在发生的事情:

明确方法

path_root = "/home/Jake/Documents/sizes"

sizes = ["size_%d" % i for i in range(84)]
paths = [os.path.join(path_root, s) for s in sizes]

print(paths)

替代方法

path_root = "/home/Jake/Documents/sizes"

paths = [os.path.join(path_root, "size_%d" % i) for i in range(84)]

print(paths)

一些注意事项:

  • 两种方法都使用列表推导
  • 当范围的下限为零时,可以省略
  • 这两种方法都使用%符号printf样式字符串格式化运算符
  • 如果您希望将单个数字前导零作为评论(但不是您的代码)建议,则可以将"size_%d"替换为"size_%02d"