首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Python中删除错误的路径字符?

如何在Python中删除错误的路径字符?
EN

Stack Overflow用户
提问于 2009-06-23 15:45:40
回答 3查看 30.5K关注 0票数 38

在Python中删除错误路径字符(例如Windows上的"\“或":”)的最具跨平台的方法是什么?

解决方案

因为似乎没有理想的解决方案,所以我决定相对严格一些,并使用以下代码:

代码语言:javascript
复制
def remove(value, deletechars):
    for c in deletechars:
        value = value.replace(c,'')
    return value;

print remove(filename, '\/:*?"<>|')
EN

回答 3

Stack Overflow用户

发布于 2012-11-28 06:01:10

我认为最安全的方法就是替换任何可疑的字符。因此,我认为您可以替换(或删除)任何不是字母数字、-、_、空格或句点的内容。下面是如何做到这一点的:

代码语言:javascript
复制
import re
re.sub(r'[^\w\-_\. ]', '_', filename)

上面的代码会转义所有不是字母、'_''-''.'或带有'_'的空格的字符。因此,如果您正在查看整个路径,则还需要在已批准的字符列表中抛出os.sep。

以下是一些示例输出:

代码语言:javascript
复制
In [27]: re.sub(r'[^\w\-_\. ]', '_', r'some\*-file._n\\ame')
Out[27]: 'some__-file._n__ame'
票数 34
EN

Stack Overflow用户

发布于 2009-06-23 15:48:33

该字符在os.sep中,它将是"\“或":",这取决于您所在的系统。

票数 -1
EN

Stack Overflow用户

发布于 2009-06-23 16:08:22

如果您使用的是python,请尝试使用os.path,以避免路径出现跨平台问题。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1033424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档