从已知的shell脚本编写我的第一个Python3脚本,并且find命令和Python等价物遇到了一个小问题。Python等价于shell查找命令
目录中有几天的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的方式。
你看看'os' python模块吗?也许在它的[文件和目录](https://docs.python.org/2/library/os.html#files-and-directories)部分,你可以找到有用的信息 – araknoid