如果 py 文件已转换为 exe,如何像在 shell 中一样运行函数

问题描述 投票:0回答:1

于是我写了一个可以操作excel文件的程序。我喜欢的是在解释器中运行脚本并从 shell 中调用函数,而且效果很好。我想做的是在不一定安装 python 的计算机上做同样的事情,所以我使用 auto-py-to-exe 将我的 py 转换为 exe,但在 exe 文件中你无法访问 shell。

我已经制作了 à 30s 视频关于这个问题:https://photos.app.goo.gl/XAaJYikmpcLV6HqC7

代码看起来像这样:

def main():
    #stuff
    return 

while 1 != 0:
    user = input("What do you want to do ? : ")
    subprocess.call(user, shell=True)

如果用户输入“main()”,我希望它像在 shell 中一样执行 main 函数。

我试过 subprocess.call .run .popen 都不起作用,还有 os.system 的东西。

编辑: 我想运行带有任何参数的任何函数,它可以是“main()”、“main(1,/path)”、“getfiles()”等。所以我不必每次都手动编写“if user == ...: main(...)”。

python shell subprocess auto-py-to-exe
1个回答
0
投票

找到答案:

    def main():
    #stuff
    return 

while 1 != 0:
    user = input("What do you want to do ? : ")
    eval(input)

但是警告这允许用户运行任何命令如此大的安全问题

“exec”命令也可以帮助你

© www.soinside.com 2019 - 2024. All rights reserved.