我在执行以下shell命令时遇到问题。我在Windows10中。我不得不删除这里的用户授权,并将其保留为“tktk”,因为我不希望我的授权像那样出现在这里
curl 'https://pegasus-test.etflogic.io/portfolio/analyze' -H 'authority: pegasus-test.etflogic.io' -H 'pragma: no-cache' -H 'cache-control: no-cache' -H 'accept: application/json' -H 'authorization: tktk' -H 'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36' -H 'content-type: application/json' -H 'origin: https://akita.etflogic.com' -H 'sec-fetch-site: cross-site' -H 'sec-fetch-mode: cors' -H 'referer: https://akita.etflogic.com/portfolio-analysis' -H 'accept-encoding: gzip, deflate, br' -H 'accept-language: en-US,en;q=0.9' --data-binary '{"portfolio":{"currency":"usd","id":"8576e266-c6f4-44fe-a6a6-9c64869b55dd","name":"test1","records":[{"locale":"US","id":"df92931e-3063-4889-8e4b-100c66f14d22","name":"SSGA SPDR S&P 500 - SSgA Active Trust","secid":549535,"size":100,"ticker":"SPY US"}],"size_type":"notional","type":"primary"}}' --compressed > /tmp/jsonpayload
我将上述命令存储在test.sh文件中 我在执行上面的shell命令时遇到问题。它在linux终端上工作。但它在我的windows cmd上不起作用。我需要阅读上面的url,获取json对象并对其进行一些分析
我尝试的是:
import subprocess
ans = subprocess.Popen(["bash",os.path.join(os.getcwd(), 'test.sh')])
这是失败的。好的
我试过了
subprocess.call(['test.sh'])
我收到错误“%1”不是有效的Win32应用程序
尝试:
我将您的
test.sh
代码复制到我自己的test.sh
文件中,并测试了一些不同的东西尝试使用
os.system
来调用命令,而不是使用subprocess
中的方法这对我很有用:
如果你喜欢
os.path.join(os.getcwd(), 'test.sh')
而不是我这里的,你也可以用它,没有什么大区别我希望这能解决你的问题:)
相关问题 更多 >
编程相关推荐