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