如何在Python中创建动态条件?

时间:2013-05-18 01:08:53

标签: python file directory

我正在尝试创建一个脚本来浏览特定文件夹的文件,然后根据条件将文件移动到特定文件夹。我可以用我想要的标准编写它,但我想如果我想要更改不改变实际脚本的标准,而是更改文本文件。

示例代码:

from os import listdir
from os.path import isfile, join

while True:
   files = [item for item in listdir(target_folder) if isfile(join(target_folder,item ))]
   for each_file in files:
       if each_file.endswith('.exe'):
           print 'File Found.

我真正想做的是Belvedere http://lifehacker.com/341950/belvedere-automates-your-self+cleaning-pc的另一种选择。我在很大程度上创造了gui,但我不清楚其余的必要代码。我试着阅读Belvedere来源,但我很困惑。

1 个答案:

答案 0 :(得分:0)

我不是100%明确你的意思,但是你可以在你的if语句中定义一个单参数函数,然后在需要的时候改变它,即:

from os import listdir,
from os.path import isfile, join

def matching_file(path):
    return path.endswith(".exe")

while True:
    files = [item for item in listdir(target_folder) if isfile(join(target_folder, item))]
    for each_file in files:
        if matching_file(each_file):
            print "File found."
        if "PYTHON" in each_file:
            matching_file = lambda x: x.endswith(".py")

这只是一个愚蠢的例子,但您可以替换matching_file的任何内容,从而能够动态更改您的标准。