这是Python文档的摘录:
如果给出exclude,则它必须是一个带有一个filename参数并返回一个布尔值的函数.根据此值,相应文件将被排除(True)或添加(False).
我必须承认,我不知道这意味着什么.
此外:
自2.7版本不推荐使用:不推荐使用exclude参数,请改用filter参数.为了获得最大的可移植性,filter应该用作关键字参数而不是位置参数,以便在最终删除排除时不会影响代码.
好的......以及"过滤器"的定义:
如果指定了filter,则它必须是一个获取TarInfo对象参数并返回已更改的TarInfo对象的函数.如果它返回None,则将从归档中排除TarInfo对象.
... 回到原点 :)
我真正需要的是一种将数组(或":"分隔字符串)的排除传递给tarfile.add的方法.
如果你试图解释PyDocs中的那些段落,我不介意.
PS:
这只是我的想法:
但是,我希望它以更加文明的方式完成
#!/bin/bash
#trash.sh
$TRASHDIR=$HOME/trash
#Does not exist yet, i have loops further in
#the script to check if the dir exists and to create it if not
echo $TRASHDIR
#I have ommited the rest of the script,
#because this is where I have the problem
Run Code Online (Sandbox Code Playgroud)
我们运行这个:
./trash.sh
./trash.sh: line 3: =/home/someuser/trash: No such file or directory
Run Code Online (Sandbox Code Playgroud)
如何在没有bash评估的情况下将此文件名存储在变量中?另外:我如何在以后的测试中使用此变量?
if [ -e $TRASHDIR ]
then
echo stuff here
fi
Run Code Online (Sandbox Code Playgroud)