clickhouse-client --format_csv_delimiter="^C" --query="INSERT INTO tutorial.TABLE FORMAT CSV" < CSV.txt
想着把上面的命令写到 python 的 call 中,应该怎么写才能正确调用呢?“”这种字符串总是会断掉正常的解析。用 r 也貌似没有用处。 或者调用这样的命令还有什么比较好的方式呢?
1
NilChan 2021-04-13 07:00:56 +08:00 via Android
看成了 clubhouse
|
2
sjmcefc2 OP 感觉应该是^C 这个符号,是不是要转义呢
|
3
yzwduck 2021-04-13 07:31:50 +08:00
对于复杂的命令行,我觉得直接传递参数数组会容易一些,转义交给 Python 来做。
PS: 我没有 clickhouse 环境,所以没测试过是否正确。 fobj = open('CSV.txt', 'rb') p = subprocess.call(['clickhouse-client', '--format_csv_delimiter=^C', '--query=INSERT INTO tutorial.TABLE FORMAT CSV'], stdin=fobj) |