[英]python string ' " ' : single double quote inside string
雙引號看起來像這樣。“如果我把它放在python字符串中,我得到這個' " '
。 在python中,我可以在字符串' "" '
放置兩個雙引號,並將其打印為兩個雙引號。 但是,我不能像以前一樣在字符串中加一個雙引號' " '
。我正在使用pydev在eclipse中執行此操作,它給出了一個error: "encountered "\\r" (13), after : ""
后面error: "encountered "\\r" (13), after : ""
。 我正在嘗試使用命令管道和文件名執行以下操作:
logA = 'thing.txt'
cmdpipe = os.popen('copy "C:\upe\' + logA + '"' + ' "C:\upe\log.txt"')
您需要轉義反斜杠:
logA = 'thing.txt'
cmdpipe = os.popen('copy "C:\\upe\\' + logA + '"' + ' "C:\\upe\\log.txt"')
通常,當字符串文字中有反斜杠時,將使用原始字符串( r'...'
)。 但是,正如@BrenBarn所指出的,在這種情況下,此方法將無效。
您需要轉義反斜杠,否則它將做奇怪的事情。
logA = 'thing.txt'
cmdpipe = os.popen(
'copy "C:\\upe\\' + logA + '"' + ' "C:\\upe\\log.txt"')
編輯:更pythonic的方式將是這樣:
logA = 'thing.txt'
cmdpipe = os.popen('copy "C:\\upe\\{}" "C:\\upe\\log.txt"'.format(logA))
upe
杠后的反斜杠轉義了第一個單引號的結束:
'copy "C:\upe\' + logA + '"' + ' "C:\upe\log.txt"'
--------------^ add an escape at least here, and it will work!
另一種選擇是按更多步驟編寫命令:
basepath = r'C:\upe'
inpath = os.path.join(basepath, logA)
outpath = os.path.join(basepath, 'log.txt')
logA = 'thing.txt'
command = 'copy "%s" "%s"' % (inpath, outpath)
print command
cmdpipe = os.popen(command)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.