簡體   English   中英

使用 python 和合並行運算符“\”寫入文本文件

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM