簡體   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