我有一个Python
脚本,它调用一个Perl
解析一些文件并生成输出文件的脚本。这些输出文件再次MySQL
使用 Python 脚本上传到数据库中。Perl 脚本需要5-7 mins
解析一些文件并生成 Python 用来上传的输出文件。
Python 脚本如下:
import subprocess
pipe = subprocess.Popen(["perl", "./parser.pl"], stdin=subprocess.PIPE)
pipe.stdin.close()
#Now, load the output files from parser.pl to database.
sql01 = """LOAD DATA LOCAL INFILE 'sequence.parsed' INTO TABLE nasequenceimp FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n';"""
try:
c.execute(sql01)
conn.commit()
except StandardError, e:
print e
conn.rollback()
但是,似乎 Python 脚本已终止,Perl 脚本继续解析文件。所以,Python 会报错sequence.parsed does not exist
为什么 Python 脚本不等待 Perl 完成执行?