Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/365.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
Python目录遍历文件解析脚本语法错误_Python_File_Parsing_Os.walk - Fatal编程技术网

Python目录遍历文件解析脚本语法错误

Python目录遍历文件解析脚本语法错误,python,file,parsing,os.walk,Python,File,Parsing,Os.walk,我有一个基本的脚本,我想检查每个目录、子目录和以root开头的文件,如果文件以.sh结尾,它应该解析文件中的字符串。代码如下: for root, dirs, files in os.walk("/"): for file in files: if file.endswith(".sh"): for line open(file): if "data in on" in line:

我有一个基本的脚本,我想检查每个目录、子目录和以root开头的文件,如果文件以.sh结尾,它应该解析文件中的字符串。代码如下:

for root, dirs, files in os.walk("/"):
    for file in files:
        if file.endswith(".sh"):
            for line open(file):
                if "data in on" in line:
                    print(os.path.join(root, file))
它是投掷:

for line open(file):
            ^
SyntaxError: invalid syntax

我认为问题在于“file”,但我不能完全确定,因为我认为我可以使用file作为变量。如果您有任何见解,我们将不胜感激。

您需要将完整路径传递到
open

for root, dirs, files in os.walk("/"):
    for file in files:
        if file.endswith(".sh"):
            path = os.path.join(root, file)
            for line in open(path):
                if "data in on" in line:
                    print(path)

您在中缺少了
,就像在
中缺少打开的行(文件):
@RNar annd现在是打开的行(文件):IOError:[Errno 2]没有这样的文件或目录:'tester.sh'它使用相对路径,您必须用
os.path.join(root,file)