gpt4 book ai didi

Python open() 需要完整路径

转载 作者:行者123 更新时间:2023-12-02 04:46:29 27 4
gpt4 key购买 nike

我正在编写一个脚本来读取 csv 文件。 csv 文件和脚本位于同一目录中。但是当我尝试打开该文件时,它给了我 FileNotFoundError: [Errno 2] No such file or directory: 'zipcodes.csv' 。我用来读取文件的代码是

with open('zipcodes.csv', 'r') as zipcode_file:
reader = csv.DictReader(zipcode_file)

如果我给出文件的完整路径,它就会起作用。为什么open()需要文件的完整路径?

最佳答案

来自documentation :

open(file, mode='r', buffering=-1, encoding=None, errors=None,newline=None, closefd=True, opener=None)

file is a path-like object giving the pathname (absolute or relativeto the current working directory) of the file to be opened or aninteger file descriptor of the file to be wrapped.

因此,如果您要打开的文件不在运行脚本的当前文件夹中,您可以使用绝对路径,或者通过使用以下方式获取工作目录或/和绝对路径:

import os
# Look to the path of your current working directory
working_directory = os.getcwd()
# Or: file_path = os.path.join(working_directory, 'my_file.py')
file_path = working_directory + 'my_file.py'

或者,您可以在运行脚本时检索绝对路径,使用:

import os
# Look for your absolute directory path
absolute_path = os.path.dirname(os.path.abspath(__file__))
# Or: file_path = os.path.join(absolute_path, 'folder', 'my_file.py')
file_path = absolute_path + '/folder/my_file.py'

如果您想与操作系统无关,那么您可以使用:

file_path = os.path.join(absolute_path, folder, my_file.py)

关于Python open() 需要完整路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44426569/

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