[英]Python and terminal - Strings with special characters
我知道Python的事情,如果我使用交互式解釋器並且我寫'\\\\ '
它打印'\\\\ '
但是如果我寫print '\\\\ '
它打印'\\ '
。
我正在嘗試做的是(在一個名為p.py
的腳本中):
import os
os.system('echo ' + 'string with spaces'.replace(' ', '\ '))
顯然它不會讓我這樣做。 我的意思是,Python設法添加兩個反斜杠而不是一個,但我認為它只在交互模式下這樣做,但終端,當通過像\\
特殊字符時,忽略它們。
所以,作為這些條款的輸出,我得到:
local:$ string with spaces
並不是
local:$ string\ with\ spaces
我已經在Python中嘗試過硬編碼字符串和其他所有內容,但我想問題是shell字符串。
我該怎么解決這個問題?
它可以幫助找到替代解決方案,我正在嘗試做的是使用mv
命令從python移動文件,並且此文件的名稱中包含空格。
os.system('echo ' + 'string with spaces'.replace(' ', '\ '))
在該行中,最后一個字符串'\\ '
將嘗試轉義空格,即使這不是轉義序列。 如果您希望它成為具有前置退格的空格,您可以轉義退格( '\\\\ '
),也可以使用原始字符串忽略所有轉義序列( r'\\ '
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.