我继承了一些包含嵌入空格的目录名的代码,我没有重命名目录的选项。假设目录的名称是“嵌入空格”
现在我正在尝试从MANIFEST.in文件中的这个目录中访问一些文件
我尝试了以下内容:
recursive-include 'embedded spaces' *.dat
recursive-include "embedded spaces" *.dat
recursive-include embedded\ spaces *.dat
这些都会产生错误,就像“警告:没有找到与'嵌入'目录下的'空格'相匹配的文件
我有一个解决方法
recursive-include embedded* *.dat
但我想知道在MANIFEST.in目录名中编码空格是否有一种不那么强硬的方法。
答案 0 :(得分:2)
不,它不会出现。检查distutils.filelist
的来源,它解析MANIFEST.in
的工作表明该行纯粹是在空白上拆分以确定操作及其参数
这是源代码(在python 2,7中)
def _parse_template_line(self, line):
words = line.split()
action = words[0]
...
if action in ('include', 'exclude',
'global-include', 'global-exclude'):
...
elif action in ('recursive-include', 'recursive-exclude'):
if len(words) < 3:
raise DistutilsTemplateError, \
"'%s' expects <dir> <pattern1> <pattern2> ..." % action
dir = convert_path(words[1])
patterns = map(convert_path, words[2:])
...
答案 1 :(得分:0)
尝试recursive-include embedded?spaces *.dat
。