python - Python:如何从 Path 对象中获取双反斜杠
问题描述
我正在使用该pathlib Path
模块来存储我的几个程序的路径。问题是,当我去使用这个变量时,我最终\\
得到了一个错误,因为它变成\
了系统解释为特殊字符的一个。我的理解是,根据操作系统,Path
模块会相应地处理这个问题。(我使用的是 Windows)
这是我的代码的娱乐:
from pathlib import Path
def get_dictionary():
path1 = Path("C:\\Programs\\program1")
path2 = Path("C:\\Programs\\program2")
path3 = Path("C:\\Programs\\program3")
path4 = Path("C:\\Programs\\program4")
info = {
"program1" : str(path1),
"program2" : str(path2),
"program3" : str(path3),
"program4" : str(path4)
}
return info
if __name__ == "__main__":
theInfo = get_dictionary()
print(theInfo['program1'])
print(theInfo['program2'])
print(theInfo['program3'])
print(theInfo['program4'])
print(theInfo)
控制台输出如下:
C:\Programs\program1
C:\Programs\program2
C:\Programs\program3
C:\Programs\program4
{'program1': 'C:\\Programs\\program1', 'program2': 'C:\\Programs\\program2', 'program3':
'C:\\Programs\\program3', 'program4': 'C:\\Programs\\program4'}
所以我的问题是:假设我想使用theInfo['program1']
. 我得到C:\Programs\program1
但我需要得到C:\\Programs\\program1
。我该怎么做呢?感谢您的任何帮助!
编辑:我从字典中得到的值被放置在一个字符串中,该字符串最终成为 Tcl 文件中的一行。例如,我有一个函数,我在其中编写:
f"puts {theInfo['program1']}"
我期望的地方:
puts C:\\Programs\\program1
但我得到:
puts C:\Programs\program1
对于其他字符,这解释为制表符、换行符等...
解决方案
造成这种现象的原因是Escape character '\'
,如果你真的想要转义数据C:\\Programs\\program1
,你可以拆分路径然后加入它\\\\
。
In [4]: data = 'C:\\Programs\\program1'
In [5]: data
Out[5]: 'C:\\Programs\\program1'
In [6]: print(data)
C:\Programs\program1
In [7]: new_data = 'C:\\\\Programs\\\\program1'
In [8]: new_data
Out[8]: 'C:\\\\Programs\\\\program1'
In [9]: print(new_data)
C:\\Programs\\program1
In [21]: p = '\\\\'.join(("C:\\Programs\\program1").split('\\'))
In [22]: p
Out[22]: 'C:\\\\Programs\\\\program1'
In [23]: print(p)
C:\\Programs\\program1
推荐阅读
- cron - Centos7 无法运行@reboot 命令
- php - 从数组中获取单个值
- python - 如何更好地自动化需要多个程序和 URL 的程序
- linux - 将数组传递给 SSH 连接
- android - Gradle 重复库没有省略
- reactjs - 更改 dropzone-material-ui 中的段落样式
- spring - Spring Boot 2.1.7 具有 tomcat-embed-core conflit
- mongodb - 如何使用对另一个集合的聚合查询结果更新/插入 mongodb 集合
- java - 核心 Java 中的字符串
- java - 如何在 python 或 java 中准确计算此文件的页面?