Python如何管理相对路径

2024-05-02 21:47:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我不知道如何在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吗


Tags: 代码configreaddatamainonedriveusersini
2条回答

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

已经有一些答案涵盖了这一点

总结一下,如果你这么做的话

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

然后,您的程序需要一个文件main.ini位于您从何处执行程序的父目录中

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

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

在您的情况下,假设您的main.ini位于正在运行的脚本的父目录中,您可以执行以下操作:

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

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

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

相关问题 更多 >