繁体   English   中英

如何在值中显示带有单反斜杠的python样式的字典?

[英]How to display a python-style dictionary with single backslashes in the value?

我遇到一个简单但奇怪的问题。 我想使用以下句子来显示类似{'file_path':'\\ 11.1.2.3 \\ file1'}的字典:

>>> mydict = {'file_path': '\\\\11.1.2.3\\file1'}
>>> mydict
{'file_path': '\\\\11.1.2.3\\file1'}

我在值字符串前面加上r

>>> mydict = {'file_path': r'\\11.1.2.3\file1'}
>>> mydict
{'file_path': '\\\\11.1.2.3\\file1'}

结果与前述结果相同,这是无法预期的。

任何人都可以提供一种显示字典的方法,而不是仅打印值吗? 提前致谢!

制作自己的打印功能:

mydict = {'file_path1': r'\\11.1.2.3\file1', 'file_path2': r'\\111232.3\blabla'}
pairs = []
for k,v in mydict.items():
    pairs.append("'%s': '%s'" % (k,v))
print '{' + ', '.join(pairs) + '}'

或者,如果您只想要一个特定的钥匙。

mydict = {'file_path1': r'\\11.1.2.3\file1', 'file_path2': r'\\111232.3\blabla'}
pairs = []
for k,v in mydict.items():
    if k == 'file_path1':
        pairs.append("'%s': '%s'" % (k,v))
print '{' + ', '.join(pairs) + '}'

使用理解:

如果您真的要转换转义的字符。

>>> import codecs
>>> mydict = {'file_path': '\\\\11.1.2.3\\file1'}
>>> print(codecs.getdecoder("unicode_escape")(str(mydict))[0])
{'file_path': '\\11.1.2.3\file1'}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM