我有一个由第三方制作的文件名列表。它们都是这样的:'D:\\a\\b\\c/d/e/f/g.cpp'
。
我想将这些规范化为具有统一的路径分隔符。但是命令:
os.path.normpath('D:\\a\\b\\c/d/e/f/g.cpp')
对Linux(Python3)下的字符串没有任何作用。
在Windows下,我得到预期的结果,即所有斜杠都转换为\\
。
如何在不使用正则表达式的情况下使其在Linux下运行?这是一个错误吗?
答案 0 :(得分:2)
在Windows上,<script src="./amcharts/plugins/export/libs/pdfMake/pdfMake.js" type="text/javascript"></script>
<script src="vfs_fonts.js" type="text/javascript"></script>
<script type="text/javascript">
pdfMake.fonts = {
"Microsoft Yahei": {
"normal": 'name of font.tff', //replace with the name of the ttf font file
"bold": 'name of bold font.ttf',
"italics": 'name of italics font.ttf',
"bolditalics": 'name of bold italics font.ttf'
}
}
// ...
AmCharts.makeChart( {
"export": {
"enabled": true,
"pdfMake": {
defaultStyle: {
font: "Microsoft YaHei"
}
},
},
...
} );
</script>
重定向到os.path
模块,该模块知道ntpath
,驱动器,......
在Linux上,您必须导入&amp;明确使用\
,因为您没有使用原生分隔符。
以下代码适用于两个平台:
ntpath
(注意粘贴路径时使用>>> import ntpath
>>> ntpath.normpath(r'D:\a\b\c/d/e/f/g.cpp')
'D:\\a\\b\\c\\d\\e\\f\\g.cpp'
>>>
前缀,避免加倍反斜杠)