[英]Writing text file with python with merge line operator “\”
我正在嘗試自動化 python 中的腳本以使用其選項編寫以下命令。 我能夠做到以下幾點
foo -1 \
-2 a \
-3 b \
-4 c \
-5 d \
-6 e \
-7 f
這似乎是對的。 但是,當我使用 bash 在終端中獲取包含此文件的文件時,它抱怨它沒有指定任何選項,並且 bash 無法識別-2
、 -3
、 -4
、 -5
等。我該怎么寫這正確地確保當文件被獲取時,它會正確讀取它?
代碼:
filehandle.write("foo\t-1 \ \n")
filehandle.write("-2 a \ \n")
filehandle.write("-3 b \ \n")
filehandle.write("-4 c \ \n")
filehandle.write("-5 d \ \n")
filehandle.write("-6 e \ \n")
filehandle.write("-7 f \ \n")
通過指定 arguments 的每個新行都應該以\t
開頭,我能夠讓它工作:
>>> with open("test.sh", "w") as f:
... f.write("ls \\\n\t-l\\\n\t-h\n")
...
14
>>>
此外,在終止每一行的反斜杠之后不能有任何空格,因此: "foo\t-1 \ \n"
應該變成: "foo\t-1 \\\n"
(反斜杠之前的空格沒事)。
另請注意: "\\n"
將寫入文件字面上的backslash, "n"
因為第一個反斜杠轉義了\n
符號,因此您必須使用"\\\n"
轉義第一個反斜杠。
所以文件看起來像這樣:
$ cat test.sh
ls \
-l\
-h
$
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.