[英]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.