无法使用作为列表值传递的文件路径文字

时间:2017-04-20 16:15:30

标签: python

我有一个在这个循环中形成的文件路径列表:

for each_file in os.listdir(my_dir):
    fp = os.path.abspath(os.path.join(my_dir, each_file))
    if fp.endswith('.txt'):
        my_list += [fp]

fp看起来像H:\Dir\1. DirOne\2. DirTwo\file.txt

然后在稍后的函数中,我将my_list作为参数传递并进行调试我可以打印其中的每个项目,其中有效的文字文件路径(\而不是\\ })打印。

但是,当我将每个路径发送到arcpy.dosomething() [不是真正的功能顺便说一句]时,它会出错并打印文件路径,但有些\已成为奇数字符({{1} })。我知道这种情况正在发生,因为有问题的˥充当转义字符,因为文件路径中的真值类似于\。那些\2. DirName\3. AnotherDir就是问题所在。

现在要对此进行测试,我可以使用\#.执行单个文件路径,但如何使用列表值复制此文件:

r'file path'

我已尝试for path in my_list: # I want to mimic the use of r' ' against the iterable arcpy.dosomething(r'path') ,但path.replace("\\", "\\\\")仍变为奇数符号(\#.)。我甚至尝试过:

˥

&安培;

path = r''+path+''

如果我使用find = r'\\' replace = r'\\\\' path = re.sub(find, replace, path) ,我会更接近我的需要:

repr()

所有产生的结果都与Unicode字符相同。

0 个答案:

没有答案