2024-06-16 12:08:10 发布
网友
有人能帮我用python执行下面的代码行吗?在
cat /home/dbadmin/super_app/data/file_name.spool | vsql database -U user -w 'password' -c "copy schema.table from stdin direct no escape null as '\N'"
Python的subprocess库支持管道。以下代码只是对documentation example进行了一点修改:
subprocess
from subprocess import Popen, PIPE p1 = Popen(["cat", "/home/dbadmin/super_app/data/file_name.spool"], stdout=PIPE) p2 = Popen(["vsql", "database", "-U", "user", "-w", "password", "-c", "copy schema.table from stdin direct no escape null as '\\N'"], stdin=p1.stdout, stdout=PIPE) p1.stdout.close() # Allow p1 to receive a SIGPIPE if p2 exits. output = p2.communicate()[0]
我还没有测试以上代码,所以可能有一些拼写错误。在
这是Python优秀的subprocess库的完美工作。您可以运行如下shell命令:
subprocess.call("YOURCOMMANDHERE", shell=True)
这将返回一个returncode,这样就可以知道命令是否成功完成。如果需要命令的输出,可以使用其他子进程函数:
returncode
它将以字符串形式返回命令输出。阅读有关此库的更多信息in the python docs
Python的
subprocess
库支持管道。以下代码只是对documentation example进行了一点修改:我还没有测试以上代码,所以可能有一些拼写错误。在
这是Python优秀的
subprocess
库的完美工作。您可以运行如下shell命令:这将返回一个
^{pr2}$returncode
,这样就可以知道命令是否成功完成。如果需要命令的输出,可以使用其他子进程函数:它将以字符串形式返回命令输出。阅读有关此库的更多信息in the python docs
相关问题 更多 >
编程相关推荐