为什么python调用函数不起作用?

2024-10-04 05:33:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从python脚本调用bash函数。但是我只能调用发送所有字符串的函数

这通电话有效

call ("mongoexport -h localhost -d dbinspection -c aggtest -u seppemarotta -p seppemarotta -o aggtest.csv --csv -f \"_id\",\"total_recomendations\"",shell=True)

这个调用不起作用,它说“解析命令行时出错:位置选项太多”。我做的唯一一件事就是把每个参数作为向量发送,把字段保存在变量中。你知道吗

call(["mongoexport","-h",url,"-d",db,"-c",col,"-u",user,"-p",pw,"-o",filename,"--csv","-f","\"_id\"","\"total_recomendations\""])

Tags: csv函数字符串脚本bashidlocalhostshell
1条回答
网友
1楼 · 发布于 2024-10-04 05:33:27

您在列表的最后一项中犯了错误,您将其改为两项:

"\"_id\"","\"total_recomendations\""

所以把它改成(我推荐):

'"_id","total_recomendations"'

通过在它周围使用单引号,您不需要转义其中的双引号,从而使整个IMHO更具可读性。无论如何,核心思想是逗号必须是一个字符串的一部分,而您将其写成分隔两个字符串(列表项)。你知道吗

相关问题 更多 >