Python目录遍历文件解析脚本语法错误
我有一个基本的脚本,我想检查每个目录、子目录和以root开头的文件,如果文件以.sh结尾,它应该解析文件中的字符串。代码如下: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:
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)