我有一堆文件,我进入python:
def list_files(path):
# returns a list of names (with extension, without full path) of all files
# in folder path
files = []
for name in os.listdir(path):
if os.path.isfile(os.path.join(path, name)):
files.append(name)
return files
images = list_files('.')
>>> images
['file1.jpg', 'file2.jpg', 'file3.jpg']
我也有一个列表:
>>> b
['ren', 'sans', 'ren']
我不想重命名图像并在b中附加相应的字符串,所以得到:
文件1-ren.jpg
文件2,sans.jpg
file3-ren.jpg
for imgs in images :
os.rename(imgs,''.join(imgs + b for f in b))
TypeError: cannot concatenate 'str' and 'numpy.ndarray' objects
我觉得这样好吗? 感谢
答案 0 :(得分:4)
这个想法更像是:
for img, extra in zip(images, b) :
os.rename(img, ''.join([img, '-', extra, '.jpg'])
但是,这意味着您已从img。
中删除了扩展程序如果没有,那么:
for img, extra in zip(images, b) :
filename, extension = os.path.splitext(img)
os.rename(img, ''.join([filename, '-', extra, extension])