当前位置: 代码迷 >> python >> 文件将在哪里创建?
  详细解决方案

文件将在哪里创建?

热度:24   发布时间:2023-06-27 21:31:08.0
import tempfile

storage_path = os.path.join(tempfile.gettempdir(), 'storage.data')
    with open(STORAGE_PATH, 'w') as f:
    f.write(data)

文件将在哪个目录中创建? 是否有可能在那里看到它或它是不可见的?

您只创建了一个string ,仅此而已。

返回一个字符串:

返回用于临时文件的目录名称

这只是一个名字。 如果您需要知道系统上的位置但不想逐步执行文档中列出的规则,请打印它; 有 3 个环境变量和另外 3 个标准位置可供测试,以查看当前用户有权创建文件的位置。

接下来, os.path.join()接受字符串并输出一个字符串。 没有在磁盘上创建任何内容来构建这些字符串。 这将取决于您是否真的对该字符串执行了某些操作(例如调用或open() )来确定将创建的内容。

如果对该字符串使用普通的open()调用,则会在tempfile.gettempdir()位置创建一个对其他进程可见的常规文件。

如果您需要安全地创建临时文件,以便攻击者无法访问该文件或影响其创建位置,请使用或; 在 UNIX 系统上,这将导致目录中不再列出文件(该文件存在但不能被其他进程打开)。 但是,它将在tempfile.gettempdir()位置创建,因此它将用完该目录所在的相关磁盘分区上的磁盘空间。

从...

名单是:

  • TMPDIR环境变量命名的目录
  • TEMP环境变量命名的目录
  • TMP环境变量命名的目录
  • 特定于平台的位置:

    • 在 Windows 上,目录C:\\TEMPC:\\TMP\\TEMP\\TMP\\TMP顺序。
    • 在所有其他平台上,目录/tmp/var/tmp/usr/tmp/usr/tmp顺序。
    • 作为最后的手段,当前工作目录。

来自 mac os 的示例:

/var/folders/4x/2rjwjpyn1pn9_0t1r5_m8blr0000gn/T/storage.data

当您通过 finder 进入目录时,文件应该在那里。 至于 Windows,它可能是隐藏的,我相信你可以解锁。

当前没有正在创建的文件。 查看以查找有关模块功能的更多信息,例如.gettempdir()

Python 搜索标准目录列表以查找调用用户可以在其中创建文件的目录。该列表是:

  1. 由 TMPDIR 环境变量命名的目录。

  2. 由 TEMP 环境变量命名的目录。

  3. 由 TMP 环境变量命名的目录。

  4. 特定于平台的位置:在 Windows 上,目录 C:\\TEMP、C:\\TMP、\\TEMP 和 \\TMP,按顺序排列。 在所有其他平台上,目录 /tmp、/var/tmp 和 /usr/tmp,按此顺序。

  5. 作为最后的手段,当前工作目录。

  相关解决方案