ch在python_Python转义ch

我已经挣扎了几个小时,虽然我找到了解决办法,但我不喜欢。

有没有内置的方法来解决这个问题:

您使用的是包含路径的变量。

您正试图用它打开一个文件,但它包含转义字符,在运行时才能确定。

如果使用“shuil”并执行以下操作:

shutil.copy(file_path, new_file_path)

它工作得很好。

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

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

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

我试着做了所有这些,但我唯一要做的是自定义函数'重构断字符串'。file_path = "F:\ScriptsFilePath\addons\import_test.py"

print(sys.getdefaultencoding())

print()

print(file_path.replace('\\', r'\\'))

print( '%r' % (file_path))

print( r'r"' + "'" + file_path+ "'")

print(file_path.encode('unicode-escape'))

print(os.path.normpath(file_path))

print(repr(file_path))

print()

print(reconstruct_broken_string(file_path))

backslash_map = { '\a': r'\a', '\b': r'\b', '\f': r'\f',

'\n': r'\n', '\r': r'\r', '\t': r'\t', '\v': r'\v' }

def reconstruct_broken_string(s):

for key, value in backslash_map.items():

s = s.replace(key, value)

return s

这是打印件:utf-8

F:\\ScriptsFilePathddons\\import_test.py

'F:\\ScriptsFilePath\x07ddons\\import_test.py'

r"'F:\ScriptsFilePathddons\import_test.py'

b'F:\\\\ScriptsFilePath\\x07ddons\\\\import_test.py'

F:\ScriptsFilePathddons\import_test.py

'F:\\ScriptsFilePath\x07ddons\\import_test.py'

F:\ScriptsFilePath\addons\import_test.py

有没有一种内置的方法来完成这个而不是这个功能?

为什么用“shutil”而不是“open”

谢谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值