python - 列出远程机器中的 txt 文件
问题描述
从 MySQL 查询中获得一个列表,从我的远程机器使用 python 脚本,我想将查询结果放入一个 txt 文件中。
我正在尝试这个:
import subprocess
import sys
from subprocess import check_output
command = 'sshpass -p pass ssh user@ipaddress "echo \'' + str(list) + '\' > file.txt; ls"'
output = check_output(command, shell=True)
print (output)
但它返回一个错误。
有没有更简单的方法来做到这一点?
错误:
File "ipcompare.py", line 53, in <module>
output3 = check_output(command, shell=True)
File "/usr/lib/python2.7/subprocess.py", line 223, in check_output
raise CalledProcessError(retcode, cmd, output=output)
列表示例:
'['11.111.1.111/29-Name=0', '12.122.2.222/29-Name=0']
解决方案
完成这个:
import subprocess
from subprocess import check_output
command = 'mysql -u ' + args.user + ' -p' + args.pwd + ' -h ' + args.ipdb + ' -P 8036 myDTS -e "select example from example2;" 2>/dev/null'
output2 = check_output(command, shell=True)
这可以从远程机器上完成,只需使用sshpass command
推荐阅读
- mysql - 如果数据库 ID 中不存在,则不显示排名
- node.js - 为什么 VsCode NPM 会抛出找不到模块的错误?
- javascript - 如何做打字稿函数链接?
- encryption - 如何使用 RSA 解密给定私钥的密文?
- java - 获取执行文件的当前路径
- ruby-on-rails - 活动管理员错误
- c - 致命错误:stdio.h:没有这样的文件或目录
- visual-studio-code - 每次构建/运行时,VS Code 都会打开一个新的调试控制台
- java - JPA 正确更新实体 - EntityUpdate 导致 IntegrityConstraintViolationException
- android - Native navigation bar with transitions