实现以下目标的最佳方法是什么?列表中的每个元素都需要附加一个公共字符串。
path = os.path.join(os.path.dirname(__file__), 'configs'))
files = ['%s/file1', '%s/file2'] % path
但是我收到以下错误:
TypeError: unsupported operand type(s) for %: 'list' and 'str'
答案 0 :(得分:2)
您需要依次将其应用于每种格式:
files = ['%s/file1' % path, '%s/file2' % path]
但是,你应该在这里使用os.path.join()
;然后将使用正确的特定于平台的目录分隔符:
files = [os.path.join(path, 'file1'), os.path.join(path, 'file2')]
如果重复这一点,请使用列表理解:
files = [os.path.join(path, f) for f in ('file1', 'file2')]