gpt4 book ai didi

python - py2exe: WindowsError: [错误 267] 目录名称无效

转载 作者:太空宇宙 更新时间:2023-11-03 19:16:53 25 4
gpt4 key购买 nike

setup.py

from distutils.core import setup
import py2exe

setup(console=['program.py'])

错误

Traceback (most recent call last):
File "program.py", line 427, in <module>
File "program.py", line 242, in __init__
WindowsError: [Error 267] The directory name is invalid: 'C:\\Users\\Bob\applications\\Program\\test\\v0.6\\dist\\library.zip/*.*'

目录名称指的是名为 library 的 zip 文件,该文件位于 dist 文件夹中并在编译期间创建。

program.py 的第 240 - 246 行

 file_list = []
root_dir = sys.path[0]
for path in os.listdir(root_dir):
full_path = os.path.join(root_dir, path).lower()
if os.path.isfile(full_path) and full_path.endswith('txt'):
# create list of (filename, dir) tuples
file_list.append((path.lower(), full_path))

program.py第427行

gui = GuiTk(win)

有什么想法导致这个问题吗?我使用 Windows 7 64 位和 PortablePython 2.7.2.1 创建可执行文件。编译过程中没有出现其他错误。

最佳答案

您正在尝试列出 sys.path() 中的项目。来自文档:

sys.path A list of strings that specifies the search path for modules. Initialized from the environment variable PYTHONPATH, plus an installation-dependent default.

As initialized upon program startup, the first item of this list, path[0], is the directory containing the script that was used to invoke the Python interpreter. If the script directory is not available (e.g. if the interpreter is invoked interactively or if the script is read from standard input), path[0] is the empty string, which directs Python to search modules in the current directory first. Notice that the script directory is inserted before the entries inserted as a result of PYTHONPATH.

对于像您这样的 py2exe 可执行文件,sys.path 是一个包含 library.zip 路径的列表(包含 py2exe 在您的安装中找到的所有纯源模块的存档)您的可执行文件需要工作)。
但您不能使用 zip 存档作为 os.listdir

的路径
>>> import os
>>> d = 'C:\\test.zip'
>>> os.listdir(d)
Traceback (most recent call last):
File "<input>", line 1, in <module>
WindowsError: [Error 267] El nombre del directorio no es válido: 'C:\\test.zip/*.*'
>>>

您可能不是在寻找 sys.path,而是在寻找“当前目录”,如变量名称所示。
如果是这种情况,那么 os.getcwd 将完成这项工作

关于python - py2exe: WindowsError: [错误 267] 目录名称无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11062466/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com