有人能帮我吗? 我正在尝试编译一个用python编写的程序,我可以在win9Xdos中运行,我可以从9xDos批处理文件调用/启动该程序,该文件将找到当前的工作目录&;我的意思是标识执行python程序和批处理文件的cwd(当前工作目录)。python程序将被称为getcwd.py,我希望有人能概述我需要做什么来转换为EXE/COM文件。有一个名为Py2EXE的程序,但不确定它是否会编译为Ms dos文件。无论如何,到目前为止,这是我的简单代码。有人能告诉我我走对了吗?哦,顺便说一下,我想做的是找到CWD&;将结果路径注入可从9XDO读取的变量。当前Var将为%cwd%
# importing os module
import os
# some websites say use: del cwd (to remove variable if it exists)
cwd = none
cwd = os.getcwd()
print(cwd)
打印行可能需要与下面的代码交换,不确定是否需要帮助:
print(type(path))
# <class 'str'>
上面的代码是否可以工作,比如在根目录中,例如C:\with&;努力获取CWD变量&;如果正确,我将如何继续将其编译为exe/com文件?我是否需要考虑LFN&;可能路径之间的空格,例如C:\Program Files&;可能的反斜杠等
你的代码并不完美,但它在正确的轨道上。您所需要的就是:
不需要辅助变量,我不知道有哪些网站建议您在创建变量之前删除该变量。尝试删除不存在的Python变量是一个运行时错误。所以我会远离那些网站
但您的问题是关于设置环境变量的。调用
print()
不会这样做。它只需将当前工作目录回显到控制台。无法更改将影响父进程的正在运行进程的环境。这既不是Python限制,也不是Windows限制:它是非常通用的。操作系统在创建进程时设置进程的环境。您可以对环境进行更改(使用os.environ[env-var]
),但这些更改仅在该Python进程内可见,对运行Python程序的批处理文件的环境不可见。为此,需要将值传递回调用进程一种方法是:
在Python中:
我已经15年没有Python1.5.2环境了,所以我不能测试它,但我认为应该是等效的
在
cmd.exe
控制台中:虽然如果您的Win9XDos不提供
%cd%
(据我所知,MS-DOS 5中提供了%cd%
,或者更晚的版本),也无法判断它是否支持call
。(您是否正在运行command.com
而不是cmd.exe
?这可以解释为什么应该存在的东西丢失了)我使用
pyinstaller
创建了一个64位的.exe
,结果生成了一个大约6MB的文件。现在,32位可执行文件变小了,但可能是生成的可执行文件仍然太大,无法加载因此,我认为Python路线可能会比它的价值更麻烦
相关问题 更多 >
编程相关推荐