【发布时间】:2020-01-09 02:43:24
【问题描述】:
我正在尝试将数据库名称从一个名为 /etc/oratab 的文件中分离出来:
#Commends
DBNAME1:/opt/oracle/product/19000/db:N
DBNAME2:/opt/oracle/product/19000/db:N
以下代码仅返回 DBNAME1:
def oratab():
dblist=[]
flag=False
with open('/etc/oratab', 'r') as oratab:
for line in oratab:
if line and line[0].isalpha():
flag=True
if flag:
dblist.append(line)
return ''.join(dblist).split(':')[0]
如何更改脚本以获得完整的 DBName 列表?
【问题讨论】:
-
必须先调试一下,看看db名称列表是否在'oratab'中
-
我只是好奇 flag=True 和 if flag: 部分代码的用途 :-) 它可能会导致考虑第一个正确行之后的所有行的错误,对吗?
-
我可以推荐你在第一个 if 条件中添加一个
not flag条件,以便在你已经设置了标志之后进行快捷方式?if not flag and line and line[0].isalpha():