簡體   English   中英

Python和終端 - 帶有特殊字符的字符串

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

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