将行从BASH转换为Python

将行从BASH转换为Python,python,bash,Python,Bash,我在BASH脚本中有一行 VAR="stuff=1"$'\n'"more_stuff=1"$'\n'"even_more_stuff='abc'" 我有两个问题,你想问什么 "$'\n' 是吗 在Python中,该行是什么样子的?bash不会解释字符串中的转义字符,所以如果我们写“\n”,它会按原样打印。为了避免这种情况,我们使用$'\n'作为换行符 简而言之,它是bash中的换行符。bash不解释字符串中的转义字符,因此如果我们写“\n”,它会按原样打印。为了避免这种情况,我们使用$'

我在BASH脚本中有一行

 VAR="stuff=1"$'\n'"more_stuff=1"$'\n'"even_more_stuff='abc'"
我有两个问题,你想问什么

 "$'\n'
是吗


在Python中,该行是什么样子的?

bash不会解释字符串中的转义字符,所以如果我们写“\n”,它会按原样打印。为了避免这种情况,我们使用$'\n'作为换行符


简而言之,它是bash中的换行符。

bash不解释字符串中的转义字符,因此如果我们写“\n”,它会按原样打印。为了避免这种情况,我们使用$'\n'作为换行符

简而言之,它是bash中的换行符。

对形式为$'string'的单词进行特殊处理。单词扩展为字符串,并按照ANSI C标准的规定替换反斜杠转义字符

因此,bash中的
$'\n'
在Python中是
“\n”

在bash中,可以将字符串粘在一起<代码>“a”“b”与
“ab”
相同。在你的行中,考虑到不同的引用方式,你把五条不同的线粘在一起;三个是正常的双引号,中间有两个ANSI C引号。在Python中,您可以执行几乎相同的操作,但中间有一个空格:
“a”“b”
相当于
“ab”
。因此,直译应该是

var=“stuff=1”“\n”“more\u stuff=1”“\n”“甚至更\u more\u stuff='abc''

但你通常会把它写成

var=“stuff=1\n更多的stuff=1\n永远不会更多的stuff='abc'

对形式为$'string'的单词进行特殊处理。单词扩展为字符串,并按照ANSI C标准的规定替换反斜杠转义字符

因此,bash中的
$'\n'
在Python中是
“\n”

在bash中,可以将字符串粘在一起<代码>“a”“b”与
“ab”
相同。在你的行中,考虑到不同的引用方式,你把五条不同的线粘在一起;三个是正常的双引号,中间有两个ANSI C引号。在Python中,您可以执行几乎相同的操作,但中间有一个空格:
“a”“b”
相当于
“ab”
。因此,直译应该是

var=“stuff=1”“\n”“more\u stuff=1”“\n”“甚至更\u more\u stuff='abc''

但你通常会把它写成


var=“stuff=1\nmore\u stuff=1\neven\u more\u 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'
stuff=1
more_stuff=1
even_more_stuff='abc'
用python

VAR = "stuff=1\nmore_stuff=1\neven_more_stuff='abc'"
print VAR
输出


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'
stuff=1
more_stuff=1
even_more_stuff='abc'
用python

VAR = "stuff=1\nmore_stuff=1\neven_more_stuff='abc'"
print VAR
输出