使用Python2与Python3的最新语法错误

时间:2018-02-21 20:58:14

标签: python syntax

我有一个使用openpyxl的脚本将行添加到现有的xlsx电子表格中。几周前它运行良好:然而,当我现在运行它时,它开始在Python2和Python3中给我不同的语法错误。

我遇到的问题是语法错误指向导入包而不是代码中的某个地方。

有关如何解决这些语法问题的任何建议吗?

Python2出错

IDA-Data host$ python2 add_name_excel_dirs.py
    Traceback (most recent call last):
      File "/usr/local/Cellar/python/2.7.14/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 62, in <module>
        import os
      File "/usr/local/Cellar/python/2.7.14/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.py", line 400, in <module>
        import UserDict
      File "/usr/local/Cellar/python/2.7.14/Frameworks/Python.framework/Versions/2.7/lib/python2.7/UserDict.py", line 116, in <module>
        import _abcoll
      File "/usr/local/Cellar/python/2.7.14/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_abcoll.py", line 662
        def append(self, value: object) -> object:
                              ^
    SyntaxError: invalid syntax

运行相同脚本时Python3出错:

IDA-Data host$ python3 add_name_excel_dirs.py
Traceback (most recent call last):
  File "add_name_excel_dirs.py", line 5, in <module>
    from openpyxl import load_workbook
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/openpyxl/__init__.py", line 26, in <module>
    from openpyxl.compat.numbers import NUMPY, PANDAS
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/openpyxl/compat/__init__.py", line 5, in <module>
    from .strings import (
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/openpyxl/compat/strings.py", line 9, in <module>
    from .numbers import NUMERIC_TYPES
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/openpyxl/compat/numbers.py", line 28, in <module>
    import pandas
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pandas/__init__.py", line 58, in <module>
    from pandas.io.api import *
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pandas/io/api.py", line 10, in <module>
    from pandas.io.pytables import HDFStore, get_store, read_hdf
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pandas/io/pytables.py", line 918
    def append(self, key: object, value: object, format: object = None, append: object = True, columns: object = None,
              ^
SyntaxError: non-default argument follows default argument

0 个答案:

没有答案