使用 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
我对 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