将行从BASH转换为Python
我在BASH脚本中有一行将行从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”,它会按原样打印。为了避免这种情况,我们使用$'
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
输出