将模式列表发送到copytree的ignore_patterns将得到TypeError:unshable type:“list”

2024-09-27 21:26:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写一个python脚本,当我尝试使用扩展列表作为copytree的ignore_模式时,会抛出一个TypeError:unhable type:'list'。我不确定,1。为什么这行不通,2。如何着手修复它。在

# allFileTypes is the list of all extensions in source_dir
# grabbed with function getFileExtList
allFileTypes = getFileExtList(source_dir)
# delete the blank file type
del allFileTypes[0]

#  Open a window to choose the files to copy
copyList = eg.multchoicebox(msg='Select the file types to copy',
                choices=(allFileTypes))

# List comprehension to make an ignore list for copytree
ignoreList = [x for x in allFileTypes if x not in copyList]


# Open a window to choose the destination directory
root_dir = eg.diropenbox(title='Choose Destination Directory')

# Take the basename of source_dir adding it to root_dir or os.mkdir will
# will break on the existing directory
dest_dir = os.path.join(root_dir, os.path.basename(source_dir))

# copytree everything from the source_dir to the dest_dir ignoring
# all files types not chosen from the list
copytree(source_dir, dest_dir, ignore=ignore_patterns(ignoreList))

Tags: ofthetoinsourceostypedir
1条回答
网友
1楼 · 发布于 2024-09-27 21:26:00
copytree(source_dir, dest_dir, ignore=ignore_patterns(*ignoreList))

ignore_patterns接收所有模式作为位置参数,而不是列表。在

相关问题 更多 >

    热门问题