Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 使用python在python文件中查找字符串_String_Python 2.7_Path_Glob_Os.path - Fatal编程技术网

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

String 使用python在python文件中查找字符串,string,python-2.7,path,glob,os.path,String,Python 2.7,Path,Glob,Os.path,我对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:

我对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
>>>
我已成功打印文件名,但不知道如何打印文件的路径名

用于将目录名连接到文件名:

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

这是错的吗?解释一下你期望什么。顺便说一句,使用完代码后,您不需要关闭该文件。@Аааааааааааааааааааа。对不起,雷蒙德·海廷格,把最后一行改成“打印文件名”