繁体   English   中英

请帮我将shell脚本转换为python

[英]Please, help me to convert shell-script to python

我想使python脚本按目录中的模式搜索文件并显示结果。 在外壳中,这很容易,并且只需一个小时即可完成。

date=`date +%F`
path=/root/bkp
for i in $(ls $path)
do
str=`find $path/$i -name “*$date*.txt”`
if [$str]
    then
        echo “File in $i is OK”
    else
        echo “File in $i is not found”
fi
done

在Python中

import subprocess,os,datetime,fnmatch
path='/root/bkp'
date=datetime.date.today()
pattern=str('%s' %date)
def find_file():
    obj=re.compile(pattern)
    for root,dirs,files in os.walk(path):
        for f in files:
        match=obj.search(f)
            if match:
                print ‘File in ??? is OK’ ===== # need directory mention
            else:
                print ‘no file’
find_file()

这个问题让我有些困惑,但是如果您只是在寻找文件名中是否包含模式,那么您已经很在乎了。

编辑:以递归方式遍历每个目录

import os,datetime
path = "C:\\Temp"
date=datetime.date.today()
pattern=str('%s' %date)
filefound = False
def find_file(currpath):
    for dirname, dirnames, filenames in os.walk(currpath):
        for files in filenames:
            if pattern in files:
                print("File found in " + currpath)
                global filefound
                filefound = True
                return
        for directory in dirnames:
           find_file(path+"\\"+directory)
find_file(path)
if filefound == False:
    print("File containing " + pattern + " not found in " + path)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM