从已知的shell脚本编写我的第一个Python3脚本,并遇到了一个使用find命令和Python等效的小问题。
目录中有几天的pcap文件。用户输入定义开始日期+时间和结束日期+时间。
这是shell脚本中使用的命令和输出。请参阅下面的cut命令清除除文件名之外的所有内容。开始和结束时间是变量,因此在下面的示例中,我已替换实际日期+时间。
find /mnt/pcap/captures/ -type f -newermt "08/08 08:00" ! -newermt "08/08 08:02" | cut -c20-40
full_cap_1354
full_cap_1353
full_cap_1348
full_cap_1350
full_cap_1349
full_cap_1352
full_cap_1351
我确实为Python找到了运行os find命令的方法,但我似乎无法将开始和结束变量传递给命令。
subprocess.check_output('find /mnt/pcap/captures/ -type f -newermt "$date1" ! -newermt "$date2" | cut -c20-40 > /home/mydir/loading_dock/load.txt', shell = True)
所以,如果有一种方法可以传递变量,那就没问题了,因为我正在学习Python,所以希望有一种Python方法。
答案 0 :(得分:0)
您应该向子进程传递一个字符串列表,而不仅仅是字符串