用户冻结和Python输入?

2024-04-18 00:46:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我对冻结和打包代码的过程比较陌生,冻结我的项目所关心的一个问题是如何处理用户输入。我在一个项目中有一个主文件,它处理物理问题,输入区域如下:

#Coil(center, radius, normal vector, current, scene, loops(default=1), pitch(default=1))

#Example coil:
r = Coil(vector(0, 0, 0), 10, vector(0, 1, 1), 10, d, 10, 0.5)

因此,在我用py2exe或我发现的任何类似的东西打包文件之后,有没有一种方法可以让用户输入像上面那样,或者我需要在打包代码之前为它创建一个用户界面?谢谢!在


Tags: 文件项目代码用户default区域过程物理
1条回答
网友
1楼 · 发布于 2024-04-18 00:46:03

一旦您的代码被冻结,代码的内容就无法再更改(无需返回原始代码),但您可以使用以下几种策略:

  • 提示用户一次输入一个参数-使程序难以使用
  • 允许用户在命令行上提供参数,例如:使用argparse-启用代码的批处理调用-可以与上面的结合使用
  • 允许用户提供一个包含参数的文件—可以是每行一个,可以是一行逗号分隔的参数,并且每行调用一次函数,或者是许多其他选项,如xml、ini格式等—更好的批处理调用—这可以与上述两者结合使用,并且可以使用 file选项
  • 以上所有这些可能是最好的选择
  • 使用Tinker、QT或wxPython为参数提供一个GUI输入通常大多数工作仍然可以与上面的结合使用
  • 您可以实现类似插件的体系结构来提供默认代码,但也允许用户提供替代代码,但存在安全问题。在
  • 您可以将上述代码保留在冻结的应用程序之外,但将其作为一个.py文件包含在用户可以修改的当心用户将拥有python的全部功能,包括应用程序包含的任何可能导致恶意更改的库
  • 您可以编写自己的小语言,允许用户使用TextX或仅使用here列出的任何工具来提供所需的项,然后允许用户提供输入文件。在

从行与行之间读取,用户似乎指定了许多对象实例,然后创建并处理这些实例,因此可以使用一些伪语言(从命令行参数或文件解析这些实例)。然后解析(并验证)输入,并为每个对象创建一个实例并将其添加到列表中。然后,一旦输入被消费,就会处理列表中的所有实例。在

相关问题 更多 >

    热门问题