找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 7434|回复: 15

[求助] python 怎么读取ini文件

3

主题

16

帖子

16

积分

贫民

积分
16
gc318 发表于 2017-7-26 10:40:53 | 显示全部楼层 |阅读模式
python 读取不了ini文件
出现:
Traceback (most recent call last):
  File "C:\Users\Administrator\Desktop\readini.py", line 29, in <module>
    main()
  File "C:\Users\Administrator\Desktop\readini.py", line 15, in main
    cp.readfp(cf)
  File "D:\Python27\lib\ConfigParser.py", line 324, in readfp
    self._read(fp, filename)
  File "D:\Python27\lib\ConfigParser.py", line 512, in _read
    raise MissingSectionHeaderError(fpname, lineno, line)
MissingSectionHeaderError: File contains no section headers.
file: 111.ini, line: 1
'\xff\xfe[\x00u\x00s\x00e\x00r\x00]\x00\r\x00\n'



ini文件:
[user]
user=gggggggggggg



请问有能帮我看下的吗
回复

使用道具 举报

1

主题

15

帖子

15

积分

贫民

积分
15
HZQ_HZA 发表于 2017-7-26 16:31:35 | 显示全部楼层
WIN   路径写的应该不对 用 C\\xxx\\  分格
回复 支持 1 反对 0

使用道具 举报

0

主题

25

帖子

25

积分

贫民

积分
25
zps26 发表于 2017-7-26 14:08:33 | 显示全部楼层
本帖最后由 zps26 于 2017-7-26 14:09 编辑
  1. with open(r'C:\Users\zps\Desktop\111.ini','r') as f:
  2.     s=f.read()
  3.     print(type(s),'s:',s,sep='\n')

复制代码
回复 支持 反对

使用道具 举报

3

主题

16

帖子

16

积分

贫民

积分
16
gc318  楼主| 发表于 2017-7-26 18:06:41 | 显示全部楼层

谢谢大神 这样是可以读成普通string 但是结构不太好分 后期不太好分类 请问能不能以ConfigParser这种方式读取啊 我试过系统自带的都可以读 但是我自己建的ini文件就出错

cp = ConfigParser.ConfigParser()   
    cf = open(r'c:\111.ini')
    cp.readfp(cf)

    secs = cp.sections()
    print cp.sections()
回复 支持 反对

使用道具 举报

3

主题

278

帖子

278

积分

侠客

积分
278

热心会员

uitb 发表于 2017-7-26 18:31:44 | 显示全部楼层
gc318 发表于 2017-7-26 18:06
谢谢大神 这样是可以读成普通string 但是结构不太好分 后期不太好分类 请问能不能以ConfigParser这种方式 ...

应该是编码的问题吧
回复 支持 反对

使用道具 举报

1

主题

3

帖子

3

积分

贫民

积分
3
hunannansheng 发表于 2017-7-26 23:29:19 | 显示全部楼层
gc318 发表于 2017-7-26 18:06
谢谢大神 这样是可以读成普通string 但是结构不太好分 后期不太好分类 请问能不能以ConfigParser这种方式 ...

    cp = ConfigParser.ConfigParser()
    with codecs.open(r'c:\111.ini', 'r', encoding='utf-8') as f:
        cp.readfp(f)
        print cp.get('user', 'user')
回复 支持 反对

使用道具 举报

0

主题

25

帖子

25

积分

贫民

积分
25
zps26 发表于 2017-7-27 09:07:54 | 显示全部楼层
  1. import configparser

  2. cp = configparser.ConfigParser()
  3. cp.read(r'C:\Users\zps\Desktop\111.ini')
  4. secs = cp.sections()
  5. print(secs)
  6. print(cp.items('user'))
  7. print(cp.get('user','user'))
复制代码

['user']
[('user', 'gggggggggggg')]
gggggggggggg
回复 支持 反对

使用道具 举报

3

主题

16

帖子

16

积分

贫民

积分
16
gc318  楼主| 发表于 2017-7-27 18:53:06 | 显示全部楼层
uitb 发表于 2017-7-26 18:31
应该是编码的问题吧

是的 是编码 就是不知怎么解决
回复 支持 反对

使用道具 举报

3

主题

16

帖子

16

积分

贫民

积分
16
gc318  楼主| 发表于 2017-7-27 18:54:07 | 显示全部楼层
hunannansheng 发表于 2017-7-26 23:29
cp = ConfigParser.ConfigParser()
    with codecs.open(r'c:\111.ini', 'r', encoding='utf-8') as ...

cp.readfp(f) 到这里就出错了
回复 支持 反对

使用道具 举报

3

主题

16

帖子

16

积分

贫民

积分
16
gc318  楼主| 发表于 2017-7-27 18:57:31 | 显示全部楼层
zps26 发表于 2017-7-27 09:07
['user']
[('user', 'gggggggggggg')]
gggggggggggg

也是出错
Traceback (most recent call last):
  File "C:\Users\Administrator\Desktop\readini.py", line 85, in <module>
    cp.read(r'c:\555\111.ini')
  File "C:\Python27\lib\ConfigParser.py", line 305, in read
    self._read(fp, filename)
  File "C:\Python27\lib\ConfigParser.py", line 512, in _read
    raise MissingSectionHeaderError(fpname, lineno, line)
MissingSectionHeaderError: File contains no section headers.
file: c:\555\111.ini, line: 1
'\xff\xfe[\x00u\x00s\x00e\x00r\x00]\x00\r\x00\n'
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表