在Python子进程中使用Tshark提供了语法

2024-09-27 20:19:59 发布

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

我试图从一个pcam文件中提取一个子进程作为tshar文件,但我试图从tshar文件中提取它。但是我得到关于cmd的语法错误。有人能帮我吗?在

def srcDestDport (filename):
  cmd = r"tshark -o column.format:"Source","%s", "Destination","%d", "dstport"," %uD"' -r %s"%(filename)
  subcmd = cmd.split(' ')
  lines = subprocess.Popen(subcmd,stdout=subprocess.PIPE)
  return lines

Tags: 文件cmdformat进程defcolumnfilenamesubprocess
1条回答
网友
1楼 · 发布于 2024-09-27 20:19:59

就Python而言,cmd定义中似乎缺少一些逗号:

cmd = r"tshark -o column.format:"Source","%s", "Destination","%d", "dstport"," %uD"' -r %s"%(filename)
#                no comma here -^                                ^    ^      ^

因为第一个字符串"Source"处遇到第一个"时结束于;原始字符串不会阻止您转义嵌入的引号。在

如果要生成一个参数列表,只需直接将其设为列表,也可以省去插入文件名:

^{pr2}$

注意第三个参数周围的单引号,以保留命令行参数中的引号。在

这也消除了拆分的需要,并在文件名中保留了空白。在

相关问题 更多 >

    热门问题