加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python ConfigParser – 如果不存在则创建文件

发布时间:2020-12-20 12:01:27 所属栏目:Python 来源:网络整理
导读:所以我正在创建一个 Python程序,它读取一个.ini文件来为主程序设置一些启动变量.我唯一的想法是,我希望程序在初始化时检查.ini文件是否存在,如果不存在,则使用一组默认值创建它.如果有人意外删除了该文件,那就是一种先发制人的错误修复方法. 我似乎无法找到
所以我正在创建一个 Python程序,它读取一个.ini文件来为主程序设置一些启动变量.我唯一的想法是,我希望程序在初始化时检查.ini文件是否存在,如果不存在,则使用一组默认值创建它.如果有人意外删除了该文件,那就是一种先发制人的错误修复方法.

我似乎无法找到任何关于如何做到这一点的例子,而且我对Python没有超级经验(只用它编程大约一周)所以我很感激任何帮助:)

编辑:经过进一步思考,我想进一步追求这一点.

我们假设文件确实存在.如何检查以确保它具有适当的部分?如果它没有相应的部分,我将如何删除文件或删除内容并重写文件的内容?

我试图用这个白痴证明:P

解决方法

您可以使用 ConfigParser和 OS库,这是一个简单的例子:

#!usr/bin/python
import configparser,os

config = configparser.ConfigParser()

# Just a small function to write the file
def write_file():
    config.write(open('config.ini','w'))

if not os.path.exists('config.ini'):
    config['testing'] = {'test': '45','test2': 'yes'}

    write_file()
else:
    # Read File
    config.read('config.ini')

    # Get the list of sections
    print config.sections()

    # Print value at test2
    print config.get('testing','test2')

    # Check if file has section
    try:
        config.get('testing','test3')

    # If it doesn't i.e. An exception was raised
    except configparser.NoOptionError:
        print "NO OPTION CALLED TEST 3"

        # Delete this section,you can also use config.remove_option
        # config.remove_section('testing')
        config.remove_option('testing','test2')

        write_file()

输出:

[DEFAULT]
test = 45
test2 = yes

以上链接的文档对于了解有关编写配置文件和其他内置模块的更多信息非常有用.

注意:我是python的新手,所以如果有人知道更好的方法让我知道我会编辑我的答案!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读