簡體   English   中英

如何在 Python3 中將特殊參數傳遞給 os.system?

[英]How to pass special parameter into os.system in Python3?

我將參數傳遞到 Python3 中的 os.system 中,如下所示:

os.system("scrapy crawl %s -a arg='%s'" % ("googlebook",scrapy_url))

scrapy url 包含特殊字符:

'?q=19434&maxResults=40&startIndex=200'

在蜘蛛中只收到:

?q=19434

如何將特殊詞傳遞給蜘蛛?

shlex模塊知道如何轉義要傳遞給 shell 的字符串。

但是,shell 在這里沒有任何用處,因此最好避免使用它。

from subprocess import run
run(["scrapy", "crawl", "googlebook", "-a", "arg=" + scrapy_url],
    # This will raise an exception if scrapy fails
    # which is _probably_ a good idea in most scenarios
    check=True)

當然,鑒於scrapy是一個Python 庫,也許最好的解決方案是簡單地import scrapy並從那里獲取它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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