【问题标题】:Issue with path in my python program on mac os?mac os上的python程序中的路径有问题吗?
【发布时间】:2019-06-13 01:28:06
【问题描述】:

在我的 Windows 电脑上制作了一个快速脚本来查询 api 并写入电子表格。问题是运行它的人将在mac上,所以我试图将它移植到mac os,但我相信我遇到了文件路径错误?一切看起来都不错,所以我很困惑。预先感谢您的任何帮助。我对mac很陌生。

我使用的 excel 模块无法打开我拥有的工作簿。是openpyxl。

root = Tkinter.Tk()
root.withdraw()
file_path = tkFileDialog.askopenfilename()
save =tkFileDialog.asksaveasfilename(defaultextension=".xlsx",initialfile=file_path)
main(file_path,save)

def main(load,save):                        
try:
    wb = load_workbook(load)
except: 
    print load,save
    return

我希望工作簿被打开,但它正在打印文件路径并结束 main()。

这是它打印出来的文件路径:

/Users/edwin/Downloads/190117 CA 设备名册.xlsx /Users/edwin/Downloads/:Users:edwin:Downloads:test.xlsx

【问题讨论】:

    标签: python macos operating-system


    【解决方案1】:
    except: 
    

    。为什么要明确捕获所有异常,然后不将它们暴露给用户?忽略异常不会让问题消失——它只会阻止你看到它。这意味着您的代码不起作用并且您不知道为什么。

    如果您需要在您的except 中进行额外调试,没关系,只需在之后引发原始异常即可:

    except Exception as e:
        print(load,save)
        raise e
    

    除了暴露你遇到的异常之外的任何事情都会隐藏你的错误,让你别无选择,只能猜测出了什么问题。优秀的工程师不会猜测 - 他们会增加日志记录。

    【讨论】:

    • 啊,谢谢,有道理。我是自学不到 1 年的,所以还有很多东西要学,尽管我以前见过这种语法。我没有意识到它不会打印错误。好像有一个导入错误,“你必须安装 PIL 来获取图像对象”,我能够 pip 并让我的代码运行:) 再次感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-15
    • 1970-01-01
    • 2011-03-05
    • 2010-09-22
    • 2011-07-18
    • 2014-10-27
    • 1970-01-01
    相关资源
    最近更新 更多