[英]Convert line from BASH to Python
我在BASH脚本中有一行看起来像
VAR="stuff=1"$'\n'"more_stuff=1"$'\n'"even_more_stuff='abc'"
我有两个问题,那是什么
"$'\n'
做?
那行在Python中会是什么样子?
bash不会解释字符串中的转义字符,因此,如果我们编写“ \\ n”,它将按原样打印。 为了避免这种情况,我们使用$'\\ n'作为换行符。
In short its for line break in bash.
ANSI C引用 :
$'string'形式的单词经过特殊处理。 该单词扩展为字符串,并按ANSI C标准的规定替换反斜杠转义字符。
因此,bash中的$'\\n'
在Python中为"\\n"
。
在bash中,您可以将字符串粘在一起。 "a""b"
与"ab"
相同。 在您的生产线中,为了允许使用不同的报价方式,您将五个不同的字符串连在一起。 三个是普通的双引号,并且在两个之间有两个ANSI C引用。 在Python中,您可以执行几乎相同的操作,但是之间必须有一个空格: "a" "b"
等同于"ab"
。 直译是
var =“ stuff = 1”“ \\ n”“ more_stuff = 1”“ \\ n”“ even_more_stuff ='abc'”
但通常将其写为
var =“ stuff = 1 \\ nmore_stuff = 1 \\ neven_more_stuff ='abc'”
bash和zsh将$'\\ n'解释为新行
VAR="stuff=1"$'\n'"more_stuff=1"$'\n'"even_more_stuff='abc'"
echo "$VAR"
输出
stuff=1
more_stuff=1
even_more_stuff='abc'
在python中
VAR = "stuff=1\nmore_stuff=1\neven_more_stuff='abc'"
print VAR
输出
stuff=1
more_stuff=1
even_more_stuff='abc'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.