使用python子进程将输出从SQLite管道传输到7zip

2024-09-30 04:35:15 发布

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

我尝试使用Python将SQLite数据库转储到一个7-zip的归档文件中(在Windows下)。我有以下代码:

import os
import subprocess
DatabaseName = os.path.join('C:\\','Database.sqlite')
ArchiveName = os.path.join('C:\\','temp.7z')
FileName = 'trial.txt'
command = 'sqlite3 %s < C:\\\\SQLite3\\DumpToSTDout.txt | 7z a %s -si%s' % (DatabaseName, ArchiveName, FileName)
print command
DumpProc = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
DumpProc.wait()
print DumpProc.stdout.read()
print DumpProc.stderr.read()

C:\Sqlite3\DumpToStdout.txt是一个文本文件,第一行是“.output stdout”,第二行是“.dump”。在

运行此代码时,出现以下错误:

^{pr2}$

但是如果我使用打印的命令并在命令窗口中直接运行它,它就可以正常运行了。在

我做错什么了?在


Tags: path代码importtxtosstderrstdoutfilename

热门问题