使用 Python 在 python 个文件中查找字符串

Find a string in python files using Python

我对 python 很陌生。我正在尝试查找其中包含字符串 "DATASOURCE" 的所有 python 文件并打印文件的路径名。我正在使用此代码:

import os,glob

os.chdir(r"G:\PROJECTS\menofim_3_5\gis")
for file in glob.glob('*.py'):
    with open(file) as f:
        contents = f.read()
    if 'DATASOURCE' in contents:
        print file

我只得到这个结果:

>>> 
findAndReplaceWorkspacePaths-dwg.py
Remove FGB by dataSource excluding specific mxd.py
SelectLayerByLocation2.py
SelectLayerByLocation3.py
>>>

我打印文件名成功了,但是我不知道如何打印文件的路径名。

使用os.path.join将目录名连接到文件名:

import os, glob

dirname = r"G:\PROJECTS\menofim_3_5\gis"
os.chdir(dirname)
for filename in glob.glob('*.py'):
    with open(filename) as f:
        contents = f.read()
    if 'DATASOURCE' in contents:
        print os.path.join(dirname, filename)
        print file