我试过下面的代码
定义解析参数():"""获取用户命令行参数""" parser = argparse. ArgumentParser(description ="可用选项")parser. add_argument('- i','--输入路径',类型= is_valid_path,required = True,help ="输入要处理的文件或文件夹的路径")parser. add_argument('- a','--action',选择=['突出显示','修订'],类型= str,help ="选择突出显示或密文")parser. add_argument('- s','--search-str',dest =' search_str',type = str,help ="输入有效的搜索字符串")parser. add_argument('- p','--pages',dest ='pages',type = tuple,help ="输入PDF文件中要考虑的页面,例如(0,1)")解析器. add_argument("-g ","--生成输出",action =" store_true ",help ="在CSV文件中生成文本内容")path =解析器.解析器_已知参数()[0]. input_path if os. path. isfile(path):parser. add_argument("-o","--输出文件",dest ="输出文件",type = str,help ="输入一个有效的输出文件")parser. add_argument("-t","--高亮显示可读文本",action ="store_true",help ="高亮显示生成图像中的可读文本")parser. add_argument("-c","--显示比较",action ="store_true",help ="显示捕获的映像和生成的映像之间的比较")如果os. path. isdir(path):解析器. add_argument("-r","--递归",动作="存储真",help ="是否以递归方式处理目录")#查看命令行参数args = vars(parser. parse_args())#显示命令行参数print("##命令参数############################################################")print("\n". join("{}:{}". format(i,j)for i,j in args. items())))print("########################################")返回参数
如果名称=="主":
args = parse_args()
# If File Path
if os.path.isfile(args['input_path']):
# Process a file
if filetype.is_image(args['input_path']):
ocr_img(
# if 'search_str' in (args.keys()) else None
img=None, input_file=args['input_path'], search_str=args['search_str'], highlight_readable_text=args['highlight_readable_text'], action=args['action'], show_comparison=args['show_comparison'], generate_output=args['generate_output']
)
else:
ocr_file(
input_file=args['input_path'], output_file=args['output_file'], search_str=args['search_str'] if 'search_str' in (args.keys()) else None, pages=args['pages'], highlight_readable_text=args['highlight_readable_text'], action=args['action'], show_comparison=args['show_comparison'], generate_output=args['generate_output']
)
# If Folder Path
elif os.path.isdir(args['input_path']):
# Process a folder
ocr_folder(
input_folder=args['input_path'], recursive=args['recursive'], search_str=args['search_str'] if 'search_str' in (args.keys()) else None, pages=args['pages'], action=args['action'], generate_output=args['generate_output']
)
获取此错误
用法:ipykernel_launcher. py [-h]-i输入路径[-a {突出显示、密文}][-s搜索字符串][-p页面][-g] ipykernel_launcher. py:错误:需要以下参数:- i/--input-path如果发生异常,请使用% tb查看完整的追溯。
系统退出:2 C:\用户\播客\应用数据\漫游\Python\Python 310\站点包\IPython\核心\交互 shell . py:3386:用户警告:要退出:请使用"exit"、"quit"或Ctrl-D。warn("要退出:使用"exit"、"quit"或Ctrl-D组合键。",堆栈级别= 1)
1条答案
按热度按时间eaf3rand1#
运行代码时需要将输入路径作为参数,假设文件名为abc.py,然后在命令行中运行