繁体   English   中英

将行从BASH转换为Python

[英]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.

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