繁体   English   中英

Python 如何管理相对路径

[英]How Python manages relative path

我不知道如何在 Python 中找到相对路径。 代码只允许我使用绝对路径。

我想要的是

config = configparser.ConfigParser()
config.read('..\\main.ini',)
print(config.sections())
FilePaths = config['data']
DictionaryFilePath = FilePaths['DictionaryFilePath']
print(DictionaryFilePath)

它迫使我做什么

config = configparser.ConfigParser()
config.read('C:\\Users\\***confendential***\\OneDrive\\文档\\Python\\Chinese for practice\\ChineseWords\\app\\main.ini',)
print(config.sections())

FilePaths = config['data']
DictionaryFilePath = FilePaths['DictionaryFilePath']
print(DictionaryFilePath)

有任何想法吗???

是 Onedrive 吗?

例如,这里已经有一些答案涵盖了这一点

总而言之,如果你只是这样做

config.read('..\\main.ini',)

那么您的程序需要一个文件main.ini位于您执行程序的任何位置的父目录中。

您通常想要的是指定一个相对于正在执行的文件位置的路径。

您可以使用__file__获取该文件的路径,然后使用os.path模块对其进行操作(请参阅此答案

在您的情况下,假设您的main.ini位于您正在运行的脚本的父目录中,您可以这样做

inifile = os.path.join(os.path.dirname(os.path.dirname(__file__)), "main.ini")
config.read(inifile)

在您的情况下要注意的另一件事是,实际检查 ini 文件是否已加载可能很有用。 如果找不到该文件,它只会返回一个空对象,因此您可以检查它并打印一条消息或错误。

希望这是有帮助的。 其他链接的答案提供了一些关于这些想法的更有用的信息。

我认为这只是onedrive。 它迫使你使用一条狭窄的前进道路

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM