程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了将文件名转换为file:// URL大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决将文件名转换为file:// URL?

开发过程中遇到将文件名转换为file:// URL的问题如何解决?下面主要结合日常开发的经验,给出你关于将文件名转换为file:// URL的解决方法建议,希望对你解决将文件名转换为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,请注明来意。