在 python 中运行 tap-target 脚本时如何更改 target-csv 的目标目录?

在 python 中运行 tap-target 脚本时如何更改 target-csv 的目标目录?

run.sh我正在尝试使用 python编写脚本subprocess

该脚本在cwd

这是脚本(当我从终端运行它时工作正常):

#!/bin/bash
export GOOGLE_APPLICATION_CREDENTIALS="/home/anti/Documents/bq_s3/BQ/bin/client_secret.json"

/home/anti/Documents/bq_s3/BQ/bin/tap-bigquery -c /home/anti/Documents/bq_s3/BQ/bin/tap_config.json --catalog /home/anti/Documents/bq_s3/BQ/bin/catalog.json --start_datetime '2013-01-01T00:00:00Z' --end_datetime '2013-01-02T00:00:00Z' | /home/anti/Documents/bq_s3/targetcsv/targetcsv/bin/target-csv --config /home/anti/Documents/bq_s3/targetcsv/targetcsv/bin/target_config.json > /home/anti/Documents/bq_s3/state.json

但是当我尝试从 python 运行相同程序时,它显示正确的输出,但没有创建 csv 文件和 state.json 文件cwd

有没有什么办法解决这一问题 ?

这是我的代码:

#!/usr/bin/python3

import subprocess   
from ast import literal_eval
import io
import os
from subprocess import call

shellscript = subprocess.Popen(["/home/anti/Documents/bq_s3/run.sh"], stdout=subprocess.PIPE)
shellscript.wait()
print (shellscript.returncode)

相关内容