Python configparser读取含空格路径值时截断问题求助
问题描述
开发程序时从config.ini读取带空格的文件路径会被截断,无空格路径读取正常。给路径加单双引号也无效。
config.ini 内容
[PATH] download = C:/Users/censor/Downloads/Test Test
(注:censor为真实用户名替代,真实用户名无空格)
测试代码
import configparser config = configparser.ConfigParser() config.read('config.ini', encoding='utf-8') download_directory = config['PATH']['download'] print(download_directory)
实际输出
C:/Users/censor/Downloads/Test
解决方法
- 检查空格类型:确认路径中的空格是普通半角空格,若为全角空格或特殊空白字符,删除后重新输入半角空格。
- 改用RawConfigParser:
ConfigParser默认的转义处理可能引发异常,替换为RawConfigParser可避免该问题:import configparser config = configparser.RawConfigParser() config.read('config.ini', encoding='utf-8') download_directory = config['PATH']['download'] print(download_directory) - 带引号路径配合关闭插值:给路径加双引号,同时初始化
ConfigParser时关闭插值功能,最后去掉引号:
修改后的config.ini:
修改后的代码:[PATH] download = "C:/Users/censor/Downloads/Test Test"import configparser config = configparser.ConfigParser(interpolation=None) config.read('config.ini', encoding='utf-8') download_directory = config['PATH']['download'].strip('"') print(download_directory) - 检查文件格式:确保
config.ini以UTF-8编码保存,换行符使用LF或CRLF格式,避免编码问题导致解析错误。
内容的提问来源于stack exchange,提问作者Edward Yim
相关产品推荐
相关产品推荐

