将输出文件写入与输入文件和子文件夹同名的文件夹-Python 3.x

时间:2019-07-23 12:26:07

标签: python python-3.x csv

以下是将pcap转换为csv文件的代码。 Pcap文件位于/ root / Desktop / pcaps的子文件夹中,我想使用与pcap文件相同的子文件夹名称和文件名将csv文件写入文件夹/ root / Desktop / csvs。 例如,如果.pcap文件位于子文件夹Sub1,Sub2中。 (/ root / Desktop / pcaps / Sub1和/ root / Desktop / pcap / Sub2)。 Sub1具有a1.pcap和a2.pcap。 Sub2具有b1.pcap和b2.pcap。我需要将输出的csv文件写入与上述子文件夹Sub1,Sub2(/ root / Desktop / csvs / Sub1和/ root / Desktop / csvs / Sub2)同名的文件夹中。那么Sub1应该具有a1.csv,a2.csv。 Sub2应该具有b1.csv,b2.csv。

我该怎么做?低于错误。 outputdir = startdir /“ Outcsv” TypeError:/不支持的操作数类型:'str'和'str'

import os
startdir= '/root/Desktop/pcaps'
suffix= '.pcap'
outputdir = startdir / "csvs"

for root,dirs, files, in os.walk(startdir):
    for name in files:
        if name.endswith(suffix):
            filename=os.path.join(root,name)
            output_filename = outputdir / filename.relative_to(startdir)
            cmd = 'tshark -r {} -T fields -e frame.number -e frame.time_relative -e wlan.sa -e wlan.da -e wlan.ta -e wlan.ra -e frame.time_delta_displayed -e frame.len -E header=y -E separator=, -E quote=d -E occurrence=f > {}.csv'
            final_cmd = cmd.format(filename,output_filename)
            os.system(final_cmd)

0 个答案:

没有答案