gpt4 book ai didi

python - open() 默认使用什么目录?

转载 作者:太空宇宙 更新时间:2023-11-04 10:43:34 24 4
gpt4 key购买 nike

我正在尝试这样做:

for line in open('some.txt'):

它说找不到文件。我的文件方向与我的 python 程序相同。怎么了?我以为它检查的目录是

解决方案:我使用了 os.listdir() 并发现我的文件实际上被命名为 some.txt.txt

最佳答案

相对路径从当前工作目录解析。

例如,假设我有这样的目录结构:

/home/joe
├── data
│   └── numbers.txt
└── programs
└── process.py

如果我在我的主目录 (/home/joe) 中,那么我可以通过 programs/process.py 引用 Python 脚本,通过 数据/数字.txt。您还可以选择使用绝对路径,例如 /home/joe/programs/process.py/home/joe/data/numbers.txt

您可以使用.. 访问父目录。例如,如果我在 programs 目录中并且我想访问 numbers.txt,我可以使用 ../data/numbers.txt(或绝对路径,如前所述)。

您的脚本可以使用 os.getcwd 检查其当前工作目录并使用 os.chdir 更改当前工作目录.

需要注意的关键是,虽然当前工作目录和脚本所在的目录可能相同,但情况不一定如此。如果你想访问与脚本相同目录中的文件,而不管当前工作目录是什么,你可以将一些东西链接在一起:

  1. __file__ 是一个预定义的全局变量,对应于提供给 Python 可执行文件的脚本路径。
  2. os.path.dirname让您从中获取目录。
  3. os.path.join允许您将该目录和您要访问的文件的名称结合起来。

关于python - open() 默认使用什么目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19074034/

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