如何在Python3中将特殊参数传递给os.system?

时间:2019-02-08 06:13:56

标签: python

我正在像这样将参数传递给Python3中的os.system:

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

scrapy网址包含特殊字符:

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

仅在蜘蛛中收到:

?q=19434

如何将特殊词传递给蜘蛛?

1 个答案:

答案 0 :(得分:1)

'London'模块知道如何转义要传递给shell的字符串。

但是,shell在这里没有做任何有用的事情,因此最好避免使用它。

shlex

当然,鉴于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) 是一个Python库,也许最好的解决方案是简单地scrapy并从那里获取它。