问题标签 [oserror]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python:将 errno 映射到 OSError 的子类
我有一个调用 C 函数的 Python 3 程序。C 函数返回一个整数:成功时返回 0,errno
失败时返回适当的值。失败后,Python 代码可以简单地引发OSError
. 但我宁愿它提出适当的OSError
.
例如,如果 Python 程序得到返回码 2,它应该 raise FileNotFoundError
,一个OSError
. 通过执行以下三个步骤,我已经可以找到正确的子类。显然,性能不是问题,因为对于 的所有值,每个 Python 3 版本我只需要执行一次这些步骤errno
,并缓存结果。
- 找到 的所有子类
OSError
。这很容易使用__subclass__
,如有必要可递归使用。 - 将所有值映射
errno
到名称。例如,如果errno
是 2,那应该映射到ENOENT
. 这是通过解析适当的 C 包含文件来完成的。例如,在 FreeBSD 上,该文件将是/usr/include/errno.h
. - 将名称映射
errno
到OSError
子类。这可以通过解析 HTML 代码来完成,例如http://docs.python.org/release/3.8.2/library/exceptions.html
但是第 3 步真的非常非常糟糕。有没有一种方法可以在不解析文档的情况下完成该步骤?有什么我可以在本地主机上的 Python 中以某种方式检查的东西吗?
python - Python 给出 OSError: [Errno 27] File too large on very small files with enough disk space/memory available
我有一个应用程序,它创建几个非常小的临时文件作为单元测试或特定功能的一部分。我开始经常遇到“随机”错误OSError: [Errno 27] File too large
. 随机我的意思是问题有时会在重新启动时消失,或者如果我在一段时间后重新运行测试。我手动检查了 Mac 上的临时文件夹是否已清理并且有足够的内存/空间来创建这样的小文件。(几个 GB 可用)此上下文中的小文件例如大小为 16384、58330、26502(以字节为单位)甚至更小。Shutil.copyfile 用于创建这些文件,但在执行 os.link 时也会出现相同的错误,这应该占用磁盘上的最小空间。我用 os.link 替换了 shutil.copfile(如果可能)来测试它是否解决了问题,但效果是一样的。在 Mac OS 上,当我进行开发时,经常在密集运行大量测试的随机时间后抛出此错误。但是,在 docker 映像中运行时,该错误始终存在。
错误片段:
使用创建 virtualenv 时有时也会抛出这些错误venv.create
。我也总是收到 sqlite3.OperationalError: docker 映像中的磁盘 I/O 错误,这可能与同一问题有关。更多技术信息:Mac OS Catalina,完全升级,通过 brew 重新安装 python 到最新的 3.7.7 + 重新创建了所有 virtualenv 并重新安装了所有依赖项。基于其他 SO 问题(File too Large python),我已经检查了文件系统是否支持限制范围内的文件大小以及目录中允许的最大文件数。包含问题的最新提交(包括因错误而失败的 dockerfile):
https://github.com/RootLUG/aura/commit/b4c730693e8f7fd36ab2acc78997694002c4e345
触发错误的代码位置:
https://github.com/RootLUG/aura/blob/dev/tests/conftest.py#L181
https://github.com/RootLUG/aura/blob/dev/tests/test_aip.py#L54
来自单元测试的 Travis 日志:
python - OSError: [WinError 193] %1 不是有效的 Win32 应用程序 (Pandas)
我一直在 Windows 10(64 位)上的 Pycharm 2019.2.1 上尝试一个简单的代码
但向我展示了这个错误
我已经卸载了一次 pandas 并使用 pip uninstall pandas 和 pip install pandas 通过 cmd 再次安装。 熊猫安装照片
做了很多谷歌搜索,但我发现的链接对我来说并不清楚(因为我首先遇到了这样的问题)。这是链接OSError: [WinError 193] %1 is not an valid Win32 application
希望能找到解决办法。谢谢你
python - 导入文件时出错:OSError: [WinError 126] The specified module could not be found
尝试将 thisImagingSource 文件导入我的应用程序时收到以下错误消息。我目前的操作系统是Windows10。以前在使用 Windows8 时,我没有收到同样的错误。有人能帮我吗?
python - 即使路径存在于 python 中,file.truncate() 也不起作用
我正在尝试进行文件操作。我想做的是从文件中删除一个字节,然后将文件的其余部分移动这么多字节到被删除的位置。我有这个代码:
除了 f.truncate() 函数外,一切正常。我已经尝试过 f.truncate(n) ,其中 n 是一个整数,但下面仍然出现错误。
错误:
我已经搜索了导致此问题的原因,有人说它与文件路径或文件不存在有关。但我 %100% 确定我正在通过控制台以相同的路径运行文件,并且文件已经存在。我也尝试过使用 \ 和 r"" 方式的绝对路径。但我仍然遇到同样的错误。
还有一件事,当我尝试注释 f.truncate() 并重新排列 while 循环以不陷入无限循环时,代码正在运行。而且我在另一个函数中使用代码结构,令人惊讶的是它不会出错。
python - Pycharm 错误 - OSError: [WinError 126] 找不到指定的模块
我正在尝试在 Pycharm 上运行我的程序,但出现以下错误
为什么我会OSError: [WinError 126] The specified module could not be found
在一切似乎都到位时得到。这是否与解释器有关?目前,我在 Pycharm 中使用我的 Conda 解释器
实际上,我有很多不需要的包,所以我做了一个conda clean --yes --all
,但我的 Pycharm 从那时起就无法工作。
google-colaboratory - OSError:无法读取数据(文件读取失败:...错误消息='输入/输出错误'...)
我想从我的 Google Drive 托管的 Colab 读取 HDF5 文件。这个文件很大(46 GB)。但是在使用该文件时,会产生以下错误:
它可以打开文件,但在读取时会抛出错误。
我在 GitHub 上找到了一个关于该问题的线程。以下是它的链接:
为什么会这样?如何解决?
python - 在 Python 3 中将 Ctrl-D 与 sys.stdin.readlines() 一起使用后,如何避免 input() 出现 EOFError?
我是一个完全的新手,试图自学 Python 以促进个人成长和发展。所以请对我放轻松。(如果有任何生物学问题,我很乐意回报您!)
我正在尝试在 MacOSX(10.14.2 Mojave)上的 PyCharm CE 中编写一个程序来执行以下操作:
1)让用户通过从源复制/粘贴一次输入一段多行的文本。例如:
玛丽和贝丝
去了
公园。
2) 将所有行合二为一,将 \n 替换为空格,如下所示:
玛丽和贝丝去了公园。
我已经做了很多阅读,我发现让用户一次输入多行文本的首选方法是使用 sys.stdin.readlines(),确保用户调用使用 Control-D 结束文件。到目前为止,我已经想出了以下内容
到目前为止,一切都很好 - one_string 打印“玛丽和贝丝去了公园”。
当我使用常规的 input() 函数时,问题出在代码的后面......
我收到以下错误消息:EOFError: EOF when reading a line
我看过其他有类似问题的帖子,有些答案建议我尝试...
我试过了,但现在我收到以下错误:OSError: [Errno 6] Device not configured: '/dev/tty'。我也试过sys.stdin.flush(),但无济于事。
在这一点上,我放弃了,决定问专业人士: a) 有没有更好的方法让用户将多行文本复制并粘贴到程序中;b)如果到目前为止我的方法还可以,我怎样才能在不破坏计算机的情况下摆脱 OSError?
提前致谢!马里亚诺