首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >请帮我把shell-script转换成python

请帮我把shell-script转换成python
EN

Stack Overflow用户
提问于 2013-02-05 18:59:40
回答 1查看 315关注 0票数 1

我想让python脚本在目录中按模式搜索文件并显示结果。简而言之,它很简单,只用了一个小时就完成了。

代码语言:javascript
复制
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中

代码语言:javascript
复制
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()
EN

回答 1

Stack Overflow用户

发布于 2013-02-05 19:32:44

我对这个问题有点困惑,但如果你只是在寻找文件名中是否有模式,那么你几乎已经在那里了。

编辑:递归地遍历每个目录

代码语言:javascript
复制
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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14705905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档