【问题标题】:How to run tableau utility command using subprocess module in python 3如何在 python 3 中使用子进程模块运行 tableau 实用程序命令
【发布时间】:2021-02-04 06:33:19
【问题描述】:

我正在尝试在 python 中编写一个函数,该函数获取 tableau 服务器中数据源连接的名称并更新数据提取。 python代码应该使用tableau实用程序命令行来刷新数据源。

我遇到的问题是 python 只传递了subprocess.run 中的第一个参数,而忽略了"refreshextract" ,"--server servername" 等其他参数。我的理论是基于这样一个事实,即当我在命令行中运行脚本时,它只打开桌面桌面,当我退出桌面时,std_out 结果为b''

我对这些东西真的很陌生,如果你指出我正确的方向,我很感激。


import os
from pathlib import Path
import sys
import subprocess




def main():
    lst1 = os.chdir("C:\\Program Files\\Tableau\\Tableau 2020.2\\bin")
    result = subprocess.run(["tableau", "refreshextract" ,"--server servername", "--username soroush" ,"--password 'PASS'" "--site site_id","--project 'project name'" ],capture_output=True)
    print("stdout:", result.stdout)

if __name__ == "__main__":
    main()

【问题讨论】:

    标签: python cmd tableau-api


    【解决方案1】:

    设置参数shell = True in

    result = subprocess.run(["tableau", "refreshextract" ,
    "--server servername", "--username soroush" ,
    "--password 'PASS'" "--site site_id","--project 'project name'" ],capture_output=True,shell = True)
    

    解决我的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-27
      • 1970-01-01
      • 1970-01-01
      • 2021-02-03
      • 1970-01-01
      • 2020-07-25
      • 2021-12-07
      • 1970-01-01
      相关资源
      最近更新 更多