【问题标题】:Finding a file with a particular string as part of its name in a directory在目录中查找具有特定字符串作为其名称的一部分的文件
【发布时间】:2016-03-05 02:22:34
【问题描述】:

我正在尝试查找名称中包含特定字符串(例如“xyz”)的文件。也就是说,如果目录中的文件有名字
'abc def'
'ghi jkl'
'xyz mno'
'pqr asd'

然后我想将文件名'xyz mno'保存在一个变量中,以便将其复制到另一个目录。

现在,我正在使用以下代码列出特定目录中的所有文件:

from os import listdir
from os.path import isfile, join
onlyfiles = [f for f in listdir(mypath) if isfile(join(mypath, f))]

所以现在,onlyfiles 是一个包含所有文件名的列表。我只需要找到与我的标准匹配的那个。也许这很容易,但我对 python 还很陌生,还不熟悉这种语言。帮忙吧。

【问题讨论】:

  • @decltype_auto 编辑错误。我的错。
  • 马上使用glob怎么样?

标签: python regex python-2.7


【解决方案1】:

这边:

from os import listdir
from os.path import isfile, join
subString = "xyz"
mypath = "/tmp"
onlyGoodfiles = [f for f in listdir(mypath) if isfile(join(mypath, f)) and subString in f]

【讨论】:

    【解决方案2】:
    onlyfiles = [f for f in listdir(mypath) if isfile(join(mypath, f)) and 'xyz' in f]
    

    只需对代码的第三行稍作改动即可。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-10
      • 1970-01-01
      • 1970-01-01
      • 2018-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多