大佬教程收集整理的这篇文章主要介绍了将文件名转换为file:// URL,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
为了完整起见,在Python 3.4+中,您应该执行以下操作:
import pathlib
pathlib.Path(absolute_path_String).as_uri()
在WeasyPrint的公共API中,我接受HTML输入的文件名(除其他类型外)。任何与内置文件一起使用的文件名都可以使用open()
,但是我需要将其转换为file://
方案中的URL,然后再将其传递给urllib.urlopen()
。
(所有内容在内部都是URL形式。我需要为文档提供一个“基本URL”,以便使用来解析相对URL引用urlparse.urljoin()
。)
urllib.pathname2url是一个开始:
重点是我的,但我确实需要完整的URL。到目前为止,这似乎可行:
def path2url(path):
"""Return file:// URL from a filename."""
path = os.path.abspath(path)
if isinstance(path,unicodE):
path = path.encode('utf8')
return 'file:' + urlparse.pathname2url(path)
RFC 3987(IRI)似乎建议使用UTF-8
。但是在这种情况下(URL最终将用于urllib)也许@R_530_10675@用sys.getfilesystemencoding()?
然而,根据文献,我应该在前面加上不仅仅是file:
但是file://
......除非我不应该:在Windows上从结果nturl2path.pathname2url()
已经以三条斜线开始。
所以问题是:是否有更好的方法来做到这一点并使它跨平台?
以上是大佬教程为你收集整理的将文件名转换为file:// URL全部内容,希望文章能够帮你解决将文件名转换为file:// URL所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。