【发布时间】:2016-12-25 01:56:49
【问题描述】:
我正在运行以下代码,并且我想跳过 3 个具有各自名称的文件夹: 文件夹 1、文件夹 2、.repository。
但是,如果某些文件夹不存在,我会收到错误:
indentationerror: unindent 不匹配任何外部缩进级别
如何跳过该文件夹进行搜索,即使它们不存在也不会出现任何错误?这是我的代码:
import re
import os
from os.path import join
comment=re.compile(r"<!--\s+\| Start of user code \(user defined modules\)\s+\|-->\s+<!--\s+\| End of user code\s+\|-->", re.MULTILINE)
tag="<module>"
for root, dirs, files in os.walk("."):
dirs.remove("folder1")
dirs.remove("folder2")
dirs.remove(".repo")
if "pom.xml" in files:
p=join(root, "pom.xml")
print("Checking",p)
with open(p) as f:
s=f.read()
if tag in s and comment.search(s):
print("The following file has been modified",p)
--------更新:
import re
import os
from os.path import join
comment=re.compile(r"<!--\s+\| Start of user code \(user defined modules\)\s+\|-->\s+<!--\s+\| End of user code\s+\|-->", re.MULTILINE)
tag="<module>"
for root, dirs, files in os.walk("/home/temp/"):
dirs.remove("/home/temp/test1")
dirs.remove("/home/temp/test2")
dirs.remove("/home/temp/test3")
if "pom.xml" in files:
p=join(root, "pom.xml")
print("Checking",p)
with open(p) as f:
s=f.read()
if tag in s and comment.search(s):
print("The following file contains user code modules:-------------> ",p)
这里是输出:
python /home/temp/test_folder/python_script_4.py
File "/home/temp/test_folder/python_script_4.py", line 12
if "pom.xml" in files:
^
IndentationError: unexpected indent
最后更新 --------->
import re
import os
from os.path import join
comment=re.compile(r"<!--\s+\| Start of user code \(user defined modules\)\s+\|-->\s+<!--\s+\| End of user code\s+\|-->", re.MULTILINE)
tag="<module>"
for root, dirs, files in os.walk("/home/dlopez/temp/test_folder/"):
dirs.remove("/home/temp/test_folder/test1")
dirs.remove("/home/temp/test_folder/test2")
dirs.remove("/home/temp/test_folder/test3")
if "pom.xml" in files:
p=join(root, "pom.xml")
print("Checking",p)
with open(p) as f:
s=f.read()
if tag in s and comment.search(s):
print("The following file contains user code modules:-------------> ",p)
我的输出:
python /home/temp/test_folder/python_script_5.py
Traceback (most recent call last):
File "/home/dlopez/temp/test_folder/python_script_5.py", line 8, in <module>
dirs.remove("/home/temp/test_folder/test1")
ValueError: list.remove(x): x not in list
请帮忙,谢谢! :)
【问题讨论】:
-
此外,即使文件夹存在,我最近也会收到此错误:IndentationError: expected an indented block
-
此错误与您的问题无关。您确定文件中的缩进是正确的吗?
-
该错误与您的问题无关,该错误仅与您的缩进有关
-
我更新了输入/输出。一些帮助?谢谢
标签: python