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