我有一个目录,每天都会创建一个新的子文件夹,每个子文件夹的名称始终以其创建日期(即MMDDYY)开头。我需要提示用户输入他们需要的文件的日期(他们已经拥有的东西),并搜索名称中具有匹配前缀的子文件夹。文件夹名称的其余部分可以忽略。
如果找到了具有正确前缀的文件夹,则会出现类似的提示,以在该文件夹中查找名称以5位数字开头的文件(用户也将拥有该文件)。这些文件仅需要复制到新位置。当我只具有文件夹名称的前缀并且一旦找到该文件夹中的文件的前缀,我就只能继续查找子文件夹。
例如,我正在寻找一个于2019年1月10日生成的文件,文件名开头为42333。完整的文件夹名称应类似于01102019CHA71H2HBMNN。将找到两个文件,一个文件的完整文件名可能是42333aaabc.xrf,另一个文件的完整文件名是42333aaabc,没有文件扩展名。这些文件名可能存在于其他多个文件夹中,但通常我需要在特定日期使用它们。
答案 0 :(得分:-1)
如果我理解正确,则需要一种算法,该算法的输入是前缀(字符串)。 在Python中,您可以使用字符串进行“成员资格”测试,例如:
>>> string = "A long string"
>>> "long" in string
True
您的算法可以与类似的东西一起工作
"If {prefix as string} in {directory/file name as string}:
do something"
但是,如果您的问题是如何列出目录中的文件,则可以通过两个库来执行此操作:
操作系统
子进程(通过在Linux中调用“ ls”或在Windows中调用“ dir”)
或者您也可以使用正则表达式的 re 库。这有点复杂,但是方式更灵活。
调试RegEx的好资源:https://regexr.com/
要在Python中学习RegEx:https://www.w3schools.com/python/python_regex.asp
好朋友,好朋友 学习