首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python转义字符

Python转义字符
EN

Stack Overflow用户
提问于 2013-09-08 18:31:11
回答 5查看 27.5K关注 0票数 6

我已经为此挣扎了几个小时,虽然我找到了一个解决方案,但我不喜欢它。有没有一种内置的方法来解决这个问题:

您在Windows上使用包含路径的变量。您正在尝试使用它打开一个文件,但它包含转义字符,直到运行时才能确定。

如果你使用'shutil‘并且这样做:shutil.copy(file_path,new_file_path)

它工作得很好。

但如果您尝试使用相同的路径:

f = open(file_path,encoding="utf8")

它不起作用,因为路径中的'\a‘被读取为'Bell’=7

我试着做了所有这些,但我唯一能做的就是自定义函数'reconstruct_broken_string‘。

这是打印输出:

有没有一种内置的方法来代替这个函数呢?为什么它能与“shutil”一起工作,而不能与“open”一起工作?

谢谢

EN

回答 5

Stack Overflow用户

发布于 2013-09-08 18:36:39

您的问题在这一行上:

尝试以下其中之一:

甚至:

(是,Windows接受正斜杠作为文件分隔符。)

参考: http://docs.python.org/2/reference/lexical_analysis.html#string-literals

票数 11
EN

Stack Overflow用户

发布于 2013-09-09 03:44:28

这是一个简化的版本,演示了'repr‘是如何不能正常工作的。

这将打印:

如你所见,'repr‘适用于换行符、换行符等,但它不适用于换码钟的'\a’。

这是'repr‘中的bug吗?有没有内置的解决方案来解决这个问题,不需要程序员编写像“reconstruct_broken_string(S)”这样的自定义函数?如果不是,python怎么会这么差劲呢?

票数 1
EN

Stack Overflow用户

发布于 2018-07-18 05:25:56

您可以在字符串前面使用r,以便Python将其作为原始字符串进行处理-

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

https://stackoverflow.com/questions/18682695

复制
相关文章

相似问题

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