1

我对python相当陌生,我正在尝试编写一个脚本来将.jpgs从一个目的地复制到另一个目的地。这部分有效,但是我试图排除某些包含某些以“big”、“iphone”和“wbig”结尾的字符串的缩略图。当我运行它时,我得到一个“切片索引必须是整数或无或有索引方法”。我的另一个问题是,endswidth 只接受三个参数......我可以用另一种方法来排除更多参数吗?

import os, shutil, re

def copy_files_over(src, dest):
src_files = os.listdir(src)
for file_name in src_files:
    full_file_name = os.path.join(src, file_name)   
    full_destination=os.path.join(dest,file_name)
    if (os.path.isfile(full_file_name) and  )and not file_name.endswith('big', 'iphone' 'wbig')):
        while os.path.exists(full_destination):
            full_destination += ".duplicate"
        shutil.copy(full_file_name, full_destination)

dest = 'C:/image_out'
src= 'C:/image_in'

copy_files_over(src, dest) # copy files

print "test complete";

接下来,我想在 jpg 移动后重命名它......IE“My_Picture”将被重命名为“My_Picture_Renamed”。我还没有开始编写该代码,但是任何朝着正确方向的手指都会有所帮助。

谢谢!

4

1 回答 1

0

您可以更改此位(无法正常工作)

file_name.endswith('big', 'iphone' 'wbig'))

为此,它将按您的要求工作

any(file_name.endswith(x) for x in ('big', 'iphone', 'wbig'))

以下评论:在单词的任何部分查找字符串:

any(x in file_name for x in ('big', 'iphone', 'wbig'))
于 2013-09-30T17:06:54.773 回答