Python化if/else

标签 python

我的想法可能是星期五下午,我看不出有什么方法可以将下面的代码 pytonize 化:

filepath = None
if 'HALLO' in os.environ:
    filepath = os.environ['HALLO']
elif os.path.isfile( os.path.join(os.environ['HOME'], 'host.hallo') ):
    filepath = os.path.join(os.environ['HOME'], 'host.hallo')
elif os.path.isfile('/etc/app/host.hallo'):
    filepath = '/etc/app/host.hallo'
if filepath:
    print 'HALLO found in "%s"' % filepath
    ## do something
else:
    print 'HALLO not found!'
    ## do something else

知道怎么做吗?谢谢!

ps:上面的代码只是一个例子,我直接写在这里可能会有语法错误。

最佳答案

这应该工作得很好:

paths = [
    os.environ.get('HALLO', None),
    os.path.join(os.environ['HOME'], 'host.hallo'),
    '/etc/app/host.hallo',
]

for path in paths:
    if path and os.path.isfile(path):
        break
else:
    # Handle no path
    pass

# Use path here

此外,它允许您添加更多路径以方便检查。

关于Python化if/else,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6876064/

相关文章:

python - 在列表中查找与其他元素不同的元素的最pythonic方法是什么?

python - 在 Python 中,如何检查 2 个不同的链接是否实际指向同一页面?

python - 解压元组的pythonic方法是什么?

Python- Selenium : Scroll down not working because of PopUp

python - Owlready2 优化不可用

python - 使用 Python 更新 Excel 电子表格中的链接

python - 从python读取json文件

python - 如何在 Python 中有条件地导入?

python - 从拆分为变量的列表中删除\n - Python

python - 使用 PySide 将数据库列转换为 Python 列表?