从命令行参数运行.py代码,使用Enthought Canopy



我准备了一个从Excel文件中读取的Python脚本:

import glob
import pandas as pd
import StringIO
import sys
import os
from xlrd import open_workbook
filelocation = str(sys.argv[0])
outputlocation = str(sys.argv[1])
FileExtension = str(sys.argv[2])
Separator = str(sys.argv[3])

#filelocation = 'C:DesktopMasterFile.xlsx'
#outputlocation = 'C:Desktopoutput'
wb = open_workbook(filelocation)

如果我通过Jupyter Notebook执行它,它就会成功执行。

但是当我通过传递以下参数从命令行运行它时,它会给我一个错误

命令行:

python MergeFilesv1_2.py "C:DesktopMasterFile.xlsx" "C:Desktopoutput" ".csv" ","

错误信息:

Traceback (most recent call last):
File "MergeFilesv1_2.py",line 22, in <module>
wb = open_workbook(filelocation)
File "C:UsersShaappDataLocalEnthoughtCanopyUserlibsite-packagesxlrd_init__.py",line 441, in open_workbook
ragged_rows=ragged_rows,
File "C:UsersShaappDataLocalEnthoughtCanopyUserlibsite-packagesxlrdbook.py",line 91, in open_workbook_xls
biff_version = bk.getbof(XL_WORKBOOK_GLOBALS)
File "C:UsersShaappDataLocalEnthoughtCanopyUserlibsite-packagesxlrdbook.py",line 1230, in getbof
bof_error('Expected BOF record; found %r' %SELF.MEM[SAVPOS:SAVPOS + 8])
File "C:UsersShaappDataLocalEnthoughtCanopyUserlibsite-packagesxlrdbook.py",line 1224, in bof_error
raise XLRDError('Unsupported format, or corrupt file:' + msg)
xlrd.biffh.XLRDError:Unsupported format, or corrupt file: Expected BOF record, found 'n# codin'

文件名也是一个参数。

这意味着,
sys.argv[0]被分配为 MergeFilesv1_2.py
sys.argv[1]被指定为"C:DesktopMasterFile.xlsx"依此类推。

最新更新