编程语言
首页 > 编程语言> > python Vs bash字符串切片

python Vs bash字符串切片

作者:互联网

我的文件包含文字,

bcd\\\\.

使用bash,我读取文件并从第4位到第8位打印字符,

tmp=$(cat a)
echo "${tmp:3:4}"

它打印,

\\\\

都很开心现在我使用python的数组切片来打印从第4位到第8位的字符,

>>> f = open('a')
>>> v=f.read()
>>> v[3:7]

它打印,

'\\\\\\\\'

为什么bash和python在有反斜杠时表现不同?

解决方法:

这是python如何显示字符串的问题.注意:

>>> f = open('a')
>>> v=f.read()
>>> v[3:7]
'\\\\\\\\'
>>> print v[3:7]
\\\\

显示v [3:7]时,反斜杠会被转义.打印时,打印v [3:7],它们不会被转义.

其他例子

文件中的行应以换行符结尾.在这种情况下,请观察:

>>> v[-1]
'\n'
>>> print v[-1]


>>> 

换行符显示为反斜杠-n.它打印为换行符.

选项卡的结果类似:

>>> s='a\tb'
>>> s
'a\tb'
>>> print s
a       b

标签:quoting,python,string
来源: https://codeday.me/bug/20190816/1666930.html