0
私は非常に新しいsubprocess
です。エラーコードなしでハードデバッグしています。subprocess.call()書式設定の問題
私は自動的に反応するAPIを呼び出すためにしようとしている:
http -f POST https://api-adresse.data.gouv.fr/search/csv/ columns=voie columns=ville [email protected]/to/file.csv > response_file.csv
私はsubprocess.call
と、様々な組み合わせを試してみたが、私は唯一のエラーコードとして「1」を取得するために管理します。 APIからの回答がcsvファイルに入っていなければならないこと、そしてcsv(@dataの後のパス)を送信していることを知って、この呼び出しをフォーマットする正しい方法は何ですか?
EDIT:
ret = subprocess.call(cmd,shell=True)
ret = subprocess.call(cmd.split(),shell=True)
ret = subprocess.call([cmd],shell=True)
- シェル=
False
と、およびSTDOUT = myFileHandler)オープン(ファイル、 "W" の内側(オープンとmyFileHandler同じ:) :ここに私の試みがされています
EDIT2:まだ答えは好奇心が、@spectrasは
file_path = "PATH/TO/OUTPUT/FILE.csv"
url = "https://api-adresse.data.gouv.fr/search/csv/"
files = {'data': open('PATH/TO/CSV/FILE.csv','rb')}
values = {'columns': 'Adresse', 'columns': 'Ville', 'postcode': 'CP'}
r = requests.post(url, files=files, data=values)
with open(file_path, "w") as myFh:
myFh.write(r.content)
を示唆したように、私は、リクエストに回ることに成功し
あなたの試行を表示してください。そうでなければ、これは広すぎます。 –
Pythonを使用している場合は、[request](http://docs.python-requests.org/en/master/)モジュールなど、Pythonで直接呼び出しを行うのが適切な方法であると主張することができます。 – spectras
私はcsvファイルをどのようにリクエストして送信するのかわからない – CoMartel