如何将python参数传递给perl脚本?
我正在编写一个python脚本,我正在尝试调用perl脚本。perl脚本的输入是python参数如何将python参数传递给perl脚本?,python,Python,我正在编写一个python脚本,我正在尝试调用perl脚本。perl脚本的输入是python参数 row[i[k]]=re.sub(r"^_", "", row[i[k]]) row[i[k]]=re.sub(r"{", "[", row[i[k]]) row[i[k]]=re.sub(r"}", "]", row[i[k]]) row[i[0]]=re.sub(r&q
row[i[k]]=re.sub(r"^_", "", row[i[k]])
row[i[k]]=re.sub(r"{", "[", row[i[k]])
row[i[k]]=re.sub(r"}", "]", row[i[k]])
row[i[0]]=re.sub(r"^_", "", row[i[0]])
row[i[0]]=re.sub(r"{", "[", row[i[0]])
row[i[0]]=re.sub(r"}", "]", row[i[0]])
cmd = "perl process_str.pl -str1 "row[i[0]]" -str2 "row[i[k]]""
os.system(cmd)
但我在运行python脚本时看到以下错误:
cmd=“perl process_str.pl-str1”行[i[0]]”-str2”行[i[k]]
^
SyntaxError:无效语法
可以使用以下功能:
subprocess.call([“perl”、“process_str.pl”、“-str1”、行[i[0]、“-str2”、行[i[k]]))
当我们可以直接启动
perl
时,调用shell来启动perl
是没有意义的。由于我们避免使用shell,因此我们不必构建shell命令。可以使用以下命令:
subprocess.call([“perl”、“process_str.pl”、“-str1”、行[i[0]、“-str2”、行[i[k]]))
当我们可以直接启动
perl
时,调用shell来启动perl
是没有意义的。由于我们避免使用shell,因此我们避免了构建shell命令。对内部引号使用简单引号而不是双引号cmd=“perl process_str.pl-str1'row[i[0]]'-str2'row[i[k]'”
删除了perl标记,因为这个问题与perl无关。你正在建立一个shell命令,不要按照azro的建议去做。1) 这将不会插入值,而是按原样传递表达式;2)如果它确实插入,它将遭受错误的简单引号,而不是内部引号的双引号cmd=“perl process_str.pl-str1'row[i[0]]'-str2'row[i[k]'”
删除了perl标记,因为这个问题与perl无关。你正在建立一个shell命令,不要按照azro的建议去做。1) 这将不会插值,而是按原样传递表达式,并且2)如果它确实插值,它将受到错误输出的影响?你是说程序打印到标准输出上的内容?要将程序打印到标准输出的内容打印到标准输出吗?嗯,这已经发生了。perl脚本的输出是字符串,当我运行pythin时,它不会给出任何输出。如果它没有输出任何东西,它也没有输出任何东西。我已经独立运行了perl脚本,它对我来说工作正常。然后,当我在python中包含perl脚本时,它是nt working.perl process_str.pl-str1“iod.BP_0_D[104,44,32,20,8105,45,33,21,9]”-str2“MCA_DQS_H[9]RSVD),(MCA_DQS_H[8:5]_MCA_DQS_DM[3:0]),MCA_DQS_H[4:0]“BP_D[104],MCA_DQS_H_H_H_H_9_[8]、MCA_DQS_[4:0]、MCA _ _(MCA(dq(MCA(D(D)D(?你是说程序打印到标准输出上的内容?要将程序打印到标准输出的内容打印到标准输出吗?嗯,这已经发生了。perl脚本的输出是字符串,当我运行pythin时,它不会给出任何输出。如果它没有输出任何东西,它也没有输出任何东西。我已经独立运行了perl脚本,它对我来说工作正常。然后,当我在python中包含perl脚本时,它是nt working.perl process_str.pl-str1“iod.BP_0_D[104,44,32,20,8105,45,33,21,9]”-str2“MCA_DQS_H[9]RSVD),(MCA_DQS_H[8:5]_MCA_DM[3:0]),MCA_DQS_H[4:0]“BP_D[104],MCA_DQS_H_H_H_H[9]、MCA_DQS_[4:0]、MCA_-rsu[8,MCA_[8]