【问题标题】:What is the Android equivalent of /tmp and how do I get Python scripts to use it?/tmp 的 Android 等价物是什么?如何让 Python 脚本使用它?
【发布时间】:2016-09-13 20:17:05
【问题描述】:

我正在尝试在 Android 上使用 pelican (python)(在 termux 中)。当 pelican 尝试写入 /tmp 时,它会失败,据我所知,它不存在,并且/或者是只读文件系统。

错误来自os.py,在makedirs(name, mode)中

OSError: [Errno 30] Read-only file system: '/tmp'
  • 如何告诉 Android 上的任何类型的脚本为 /tmp 使用不同的位置?
  • 如何告诉 Android 上的 python(在 Termux 中)使用不同的位置来存储 /tmp?
  • /tmp 的 Android 等效项是什么?

编辑以回应建议这是重复的:

我发现这个答案很有帮助,但它与这个问题无关。

我尝试了这里建议的说明:https://stackoverflow.com/a/18280309/608970,发现通过设置 TMP、TMPDIR 和 TEMP,如果脚本使用 tempfile 模块,我确实可以为 python 更改 /tmp 并创建 tmp 文件。

显然,鹈鹕没有。这留下了我最初的问题,在 Android 中 /tmp 的模型是什么,我们如何移植任意脚本,它是否需要更改代码,或者是否可以通过更改代码工作的 Android 环境来解决?

【问题讨论】:

  • 谢谢@PeterWood,我发现这个答案很有帮助,但与这个问题无关。我尝试了这里建议的说明:stackoverflow.com/a/18280309/608970 并发现通过设置 TMP、TMPDIR 和 TEMP,如果脚本使用 tempfile 模块,我确实可以为 python 更改 /tmp 并创建 tmp 文件。显然,鹈鹕没有。这留下了我最初的问题,在 Android 中 /tmp 的模型是什么,我们如何移植任意脚本?

标签: android python pelican


【解决方案1】:

根据https://stackoverflow.com/a/41105574/493161,它是 /data/local/tmp,但我对 termux 的体验是它无法从桌面读取使用 adb 可以看到的许多/大多数文件和目录,并且没有任何写入权限(我发现)在它自己的文件之外。我建议改为mkdir $HOME/tmp,并使用它。

关于同一问题的其他一些答案提供了有关缺少 /tmp 的良好信息。请注意,/data/local/tmp 没有设置粘性(“t”)位,也没有对所有用户的完全读/写访问权限,Linux 也是如此。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-19
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-03
    • 2011-03-07
    相关资源
    最近更新 更多