如何给一个字符串变量前面加r

时间:2021-09-04 06:08:34
临时抱佛脚,帮人用penelope脚本转kobo电子书的字典,但是出现了[Error 22] invalid mode <'wb'> of filename....
google了一下,都说要在文件名字符串前面加个r,但是没学过python,不知道怎么加好

 for p in fileIDs:
        #Python2#
        print '%s'%p
        f = open(p + ".html", "wb")
        #Python3#        f = open(p + ".html", "w")
        f.write("<?xml version=\"1.0\" encoding=\"utf-8\"?><html>")

f = open(p + ".html", "wb") 文件名前加r,变成r'xxxx.html'
希望高手帮帮忙

3 个解决方案

#1



import os.path
os.path.abspath(p+".html")

#2


在字符串前加“r" 是高速Python 不要进行转义
你可以google 下  python string rawstring搜下

但我感觉问题不在于文件名
而在于你文件中可能有些'\'符号 导致转义了
所以可以捕捉下异常 看到底是什么原因导致无法打开文件

#3


已经转义的话,不能完整还原吧,有些转义是合理的文件名字符,没报错但是到底不是需要的路径了。所以还是往前查查fileIDs里的那些字串是咋来的,一般应该是代码里的字符面值写错...

#1



import os.path
os.path.abspath(p+".html")

#2


在字符串前加“r" 是高速Python 不要进行转义
你可以google 下  python string rawstring搜下

但我感觉问题不在于文件名
而在于你文件中可能有些'\'符号 导致转义了
所以可以捕捉下异常 看到底是什么原因导致无法打开文件

#3


已经转义的话,不能完整还原吧,有些转义是合理的文件名字符,没报错但是到底不是需要的路径了。所以还是往前查查fileIDs里的那些字串是咋来的,一般应该是代码里的字符面值写错...