首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >打开文件时在cxFreeze编译的python可执行文件中打开自定义文件类型

打开文件时在cxFreeze编译的python可执行文件中打开自定义文件类型
EN

Stack Overflow用户
提问于 2016-03-25 18:20:49
回答 1查看 89关注 0票数 2

我正在使用cx_Freeze在Python语言中编译Rubiks Cube模拟器

我希望用户能够保存2d表示的布局,你可以在中心看到,到.cube文件,并能够打开以前的.cube文件从程序本身。

但是,我还希望用户能够从资源管理器中打开.cube文件,并让程序启动时显示用户打开的.cube文件的内容。

做了一些研究后,我认为我需要访问“运行时环境”或其他东西-但除此之外,我完全不知道。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-22 15:02:00

更新

我使用argparse模块解决了这个问题。基于explorer每次打开一个文件时都会调用带有文件目录参数的应用程序这一事实,我所要做的就是添加一个可选参数来捕获这些数据。

代码语言:javascript
复制
import argparse
parser=argparse.ArgumentParser()
parser.add_argument("cubefile",nargs="?",default=False)
#'nargs="?"' makes the argument optional
#-meaning an error will not be thrown if no file is parsed on execution
args=parser.parse_args()
if args.universefile != False:
    init_defaultcube = cubetools.getCubeFromCubeFileDir(args.universefile)
    #cubetools is my class and getCubeFromCubeFileDir just interprets the text in the file

但是,由于此参数更改了exe的工作目录,并且我的GUI图像引用是相对的,因此我必须使用以下命令重置当前目录

os.chdir(os.path.dirname(os.path.abspath(sys.executable)))

我现在正在修改注册表的初始化,以设置默认的应用程序和图标的.cube文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36218088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档