第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

使用格式在字符串中添加反斜杠

使用格式在字符串中添加反斜杠

達(dá)令說 2023-06-20 10:19:53
我在 mod 之后添加了一個(gè)反斜杠,我需要使用子進(jìn)程執(zhí)行它,但是在打印命令名稱時(shí)它使用 pdb 顯示雙反斜杠。command = "ffmpeg -i {} -vf 'select=not(mod(n\,{}))' -vsync -vfr -q:v 2 {} 2>NUL".format(vid, args.nfps, viddir + "/%06d.png")subprocess.call(command,shell=True)(Pdb) command"ffmpeg -i /home/ashutosh/Music/2020-07-24/DV1/0001.mp4 -vf 'select=not(mod(n\\,60))' -vsync -vfr -q:v 2 /home/ashutosh/Music/2020-07-24/DV1/0001/%06d.png 2>NUL"輸出應(yīng)該像"ffmpeg -i /home/ashutosh/Music/2020-07-24/DV1/0001.mp4 -vf 'select=not(mod(n\,60))' -vsync -vfr -q:v 2 /home/ashutosh/Music/2020-07-24/DV1/0001/%06d.png 2>NUL"我試圖在格式中添加反斜杠,但隨后添加了更多反斜杠。無論如何要對(duì)此進(jìn)行編碼,以便我得到一個(gè)反斜杠。
查看完整描述

3 回答

?
慕標(biāo)琳琳

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超9個(gè)贊

正如其他人所指出的,實(shí)際上只有一個(gè)反斜杠,而不是兩個(gè)。


比使用反斜杠更好的解決方案是省略并將命令行作為列表shell=True傳遞。ffmpeg


command = [

    "ffmpeg", "-i", vid, "-vf", r"select=not(mod(n\,{}))".format(args.nfps), 

    "-vsync", "-vfr", "-q:v", "2", os.path.join(viddir, "%06d.png"),

]

subprocess.call(command, stderr=subprocess.DEVNULL)

這樣您就可以避免使用另一個(gè)組件(外殼),并且如果命令的任何部分來自用戶,您也可以避免創(chuàng)建安全漏洞。一般來說,最好shell=True盡可能避免。


查看完整回答
反對(duì) 回復(fù) 2023-06-20
?
largeQ

TA貢獻(xiàn)2039條經(jīng)驗(yàn) 獲得超8個(gè)贊

只有一個(gè)反斜杠。您可以通過 確認(rèn)這一點(diǎn)print(command)。您看到兩個(gè)反斜杠的原因是 pdb 在代碼中將值顯示為 Python 字符串,反斜杠通常需要在 Python 的字符串中進(jìn)行轉(zhuǎn)義 — 事實(shí)上,您不應(yīng)該在代碼中編寫,您應(yīng)該"…\,…"編寫"…\\,…".?但由于\,不是已知的轉(zhuǎn)義序列,Python 可以這么說“讓它滑動(dòng)”。

但請(qǐng)注意,通常在\字符串內(nèi)部使用可能具有特殊含義,如果您想使用文字反斜杠,則需要將其轉(zhuǎn)義(即 write?\\)或者您需要使用原始字符串文字 (?r"…")。


查看完整回答
反對(duì) 回復(fù) 2023-06-20
?
叮當(dāng)貓咪

TA貢獻(xiàn)1776條經(jīng)驗(yàn) 獲得超12個(gè)贊

如果你想在字符串中包含文字反斜杠,那么你的選擇是使用原始字符串(注意r開頭之前的'):


>>> s = r'foo\bar'

>>> print(s)

foo\bar

或者使用額外的反斜杠引用反斜杠:


>>> s = 'foo\\bar'

>>> print(s)

foo\bar

查看您擁有的內(nèi)容的最佳方式是使用print.


請(qǐng)注意,如果您不使用print,而只是通過在交互式會(huì)話中鍵入變量名稱(包括在 中)來顯示字符串的內(nèi)容pdb,那么這將等同于print(repr(s))- 換句話說,它打印的內(nèi)容本質(zhì)上是表達(dá)式需要在 Python 源代碼中使用以恢復(fù)原始字符串。因此,這將包括額外的反斜杠,如上所示:


>>> s

'foo\\bar'


>>> print(repr(s))

'foo\\bar'

但這并不意味著該字符串實(shí)際上包含兩個(gè)反斜杠。


查看完整回答
反對(duì) 回復(fù) 2023-06-20
  • 3 回答
  • 0 關(guān)注
  • 207 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)