python关于文件路径问题
这段代码,找的是写死的路径,跟执行文件无关。的同级下的picture文件夹的相对路径。的同级下的picture文件夹的绝对路径。很多时候,我们并不知道绝对路径,只知道。相对于方法所在文件的相对路径。
·
目录
目录
一、相对路径(相对执行文件)
这段代码,找的是main方法(执行文件)所在文件的同级下的picture文件夹的相对路径
import os
def list_dir():
folder_path = "picture"
if len(os.listdir(folder_path)) > 100:
print("数量充足")
else:
print(f"数量不足:{len(os.listdir(folder_path))}")
if __name__ == '__main__':
list_dir()
二、绝对路径(相对执行文件)
这段代码,找的是main方法(执行文件)所在文件的同级下的picture文件夹的绝对路径
import os
def list_dir():
folder_path = os.path.abspath("picture")
if len(os.listdir(folder_path)) > 100:
print("数量充足")
else:
print(f"数量不足:{len(os.listdir(folder_path))}")
if __name__ == '__main__':
list_dir()
三、硬编码绝对路径
这段代码,找的是写死的路径,跟执行文件无关。
import os
def list_dir():
folder_path = r"D:\workspacepython\ocr\f\common\picture"
if len(os.listdir(folder_path)) > 100:
print("数量充足")
else:
print(f"数量不足:{len(os.listdir(folder_path))}")
if __name__ == '__main__':
list_dir()
四、相对路径(相对方法文件)
很多时候,我们并不知道绝对路径,只知道相对于方法所在文件的相对路径。就有了一下写法。
import os
def list_dir():
# 获取脚本文件所在的目录
script_dir = os.path.dirname(os.path.abspath(__file__))
# 构建目标文件夹的绝对路径
folder_path = os.path.join(script_dir, "picture")
if len(os.listdir(folder_path)) > 100:
print("数量充足")
else:
print(f"数量不足:{len(os.listdir(folder_path))}")
if __name__ == '__main__':
list_dir()
五、最佳实践
构建文件夹的时候,文件夹中新建一个__init__.py的空文件。或者使用Pycharm新建文件夹的时候采用python文件夹。
然后将以下内容复制进去:
import os
# 获取当前文件的绝对路径
current_file_path = os.path.abspath(__file__)
# 获取当前文件所在的目录
current_directory = os.path.dirname(current_file_path)
# 获取当前文件所在目录的父级目录
parent_directory = os.path.dirname(current_directory)
# 获取当前文件所在目录的爷爷级别目录
grandparent_directory = os.path.dirname(parent_directory)
# 获取当前文件所在目录的曾祖父级别目录
great_grandparent_directory = os.path.dirname(grandparent_directory)
# 路径拼接
# os.path.join(current_directory, "xxx")
我们在次文件夹下的文件方法中引用文件夹下的其他文件的时候,采用路径拼接的方式,这样无论在哪里调用,引用的文件都是固定的。比如:
更多推荐
已为社区贡献13条内容
所有评论(0)