# 创建配置文件
import configparser
config = configparser.ConfigParser() # 相当于config = {} 空字典 config["default"] = {"ServerAliveInterval":"",
"Compression": "yes",
"CompressionLevel": ""} config['DEFAULT']['ForwardX11'] = 'yes' config['bitbucket.org'] = {}
config['bitbucket.org']['User'] = 'hg' config['topsecret.server.com'] = {}
topsecret = config['topsecret.server.com']
topsecret['Host Port'] = '' # mutates the parser
topsecret['ForwardX11'] = 'no' # same here with open("example.ini","w") as f:
config.write(f)
# 增删改配置文件
import configparser config = configparser.ConfigParser() config.read("example.ini") # 读出来 print(config.sections()) # ['bitbucket.org', 'topsecret.server.com'] print(config["bitbucket.org"]["User"]) # hg defalut 的信息也会被遍历出来
for key in config["bitbucket.org"]:
print(key) # ['user', 'serveraliveinterval', 'compression', 'compressionlevel', 'forwardx11']
print(config.options("bitbucket.org"))
# [('serveraliveinterval', '45'), ('compression', 'yes'), ('compressionlevel', '9'), ('forwardx11', 'yes'), ('user', 'hg')]
print(config.items("bitbucket.org"))
# yes
print(config.get("bitbucket.org", "compression")) # config.add_section("yun") # 生成新的块
# config.set("yun", "name", "alex") # 给新的块设置值 # config.remove_section("topsecret.server.com") # 删除块
# config.remove_option("bitbucket.org", "user") # 删除键值 # config.write(open("i.cfg", "w")) # 重新生成配置文件

os模块:

 # os模块________________________
print(os.getcwd()) # 当前工作目录
os.chdir("tmp") # 改变当前工作目录
print(os.getcwd()) # os.makedirs("dirname1/dirname2") # 建多个
# os.removedirs("dirname1/dirname2") # 删除空目录(如果不为空不删除)
# print(os.mkdir("t4.py")) #创建单个文件夹
# print(os.rmdir("t4.py")) # 删除单个目录,目录必须为空
# print(os.remove("__init__.py")) # 删除一个文件
# print(os.rename("test.py", "test2.py")) # 修改文件名 ("oldname","newname") print(os.listdir()) # 工作目录下载所有文件 print(os.stat("test.py")) # 文件创建以及其他一系列的信息
print(os.sep) # 当前操作系统的路径分隔符\
print(os.linesep) # window \t\n linux\n
print(os.pathsep) # ; 分割文件路径 linux用:(冒号)
# print(os.system("dir")) # 执行命令 print(os.path.split("test/file.py")) # 路径分割
print(os.path.dirname("test/file.py")) # 拿到上级目录
print(os.path.basename("test/file.py")) # 拿到文件名 # 下面是用来是判断绝对路径
print(os.path.exists(r"Users\lzh\PycharmProjects\day05"))
print(os.path.exists(r"C:\Users\lzh\PycharmProjects\day05\t1.py"))
print(os.path.isabs(r"C:\Users\lzh\PycharmProjects\day05\t1.py")) # 是否是绝对路径
print(os.path.isfile(r"C:\Users\lzh\PycharmProjects\day05\t1.py"))
print(os.path.isdir(r"C:\Users\lzh\PycharmProjects\day05"))
print(os.path.getatime(r"C:\Users\lzh\PycharmProjects\day05")) # 最后的存取时间
t1 = os.path.getatime(r"C:\Users\lzh\PycharmProjects\day05")
print(os.path.getmtime(r"C:\Users\lzh\PycharmProjects\day05")) # 最后修改时间
print(os.environ)

random模块:

 # random模块______________________

 import random
print("_____________________")
ret = random.random() # 0.7300862907438088
print(ret)
print(random.randint(1, 3)) # [1, 3] 之间的随机整数
print(random.randrange(1, 3)) # [1,3)
print(random.choice([1, 3, 4])) # 随机选取
print(random.sample([1, 2, 3, 4], 2)) # [2, 1]
print(random.uniform(1, 4)) # (1, 4)之间的浮点数
print(random.shuffle([1, 2, 3, 4, 5])) # 打乱可迭代对象中的顺序 # 验证码
def v_code():
ret = ""
for i in range(5):
num = random.randint(0, 9)
alf = random.randint(65, 122)
s = str(random.choice([num, chr(alf)])) # 相同的概率拿到
ret += s
return ret
print(v_code())
# json模块(数据交换)
dict = '{"name":"alex"}'
f = open("hello", "w")
f.write(dict) # f_read = open("hello", 'r')
# data = f_read.read()
# print(type(data))
# data = eval(data)
# print(data["name"]) import json
f = open("hello", "w")
dict = {"name": "alex"}
print(json.dumps(dict))
dict = json.dumps(dict) # 等价于json.dump(dict, f)
f.write(dict) f_read = open("hello", 'r')
json.loads(f_read.read()) # 等价于json.load(f_read)
# 文件操作 # pickle模块
import pickle
j = pickle.dumps(dict)
print(type(j)) # 字节 f = open("序列化对象——pickle", 'wb')
f.write(j) # 等价于pickle.dump(dic, f# )
f.close() f_read = open("序列化对象——pickle", 'rb')
data = pickle.loads(f_read.read()) # 等价于 pickle.load(f) # shelve模块
import shelve f = shelve.open(r"shelve") # f["info"] = {"name": "alex3"}
# f["info2"] = {"name": "alex2", "age", : }
# f["info"] = {"name": "alex1", "age", : , "gender": "男"} # f.close() print(f.get("info")["name"])

json相关模块

import sys
import time a = 1
if a == 1:
print("a==1") print(sys.platform)
print(sys.argv)
# command = sys.argv[1]
# path = sys.argv[2] # if command == "post":
# pass
# elif command == "get":
# pass # for i in range(100):
# sys.stdout.write("#")
# time.sleep(0.1)
# sys.stdout.flush()
print(sys.path)
print(sys.version)
# print(sys.exit(1))

sys

18.configparser模块的更多相关文章

  1. 小白的Python之路 day5 configparser模块的特点和用法

    configparser模块的特点和用法 一.概述 主要用于生成和修改常见配置文件,当前模块的名称在 python 3.x 版本中变更为 configparser.在python2.x版本中为Conf ...

  2. Pyhton之subprocess模块和configparser模块

    一.subprocess模式 # import os # while True: # cmd=input('>>').strip() # if not cmd:continue # if ...

  3. 函数和常用模块【day06】:configparser模块(七)

    本节内容 1.简述 2.配置文件格式 3.创建配置文件 4.读取配置文件 5.增删该查语法 一.简述 在很多情况下,我们都需要修改配置文件,但是,有些配置文件,如mysql数据库的配置文件怎么修改呢? ...

  4. 十八. Python基础(18)常用模块

    十八. Python基础(18)常用模块 1 ● 常用模块及其用途 collections模块: 一些扩展的数据类型→Counter, deque, defaultdict, namedtuple, ...

  5. Python之路(第十八篇)shutil 模块、zipfile模块、configparser模块

    一.shutil 模块 1.shutil.copyfileobj(fsrc, fdst[, length]) 将文件内容拷贝到另一个文件中,需要打开文件 import shutil shutil.co ...

  6. (转)python的ConfigParser模块

    原文:https://blog.csdn.net/miner_k/article/details/77857292 如何使用Python3读写INI配置文件-------https://blog.cs ...

  7. Python 自学基础(四)——time模块,random模块,sys模块,os模块,loggin模块,json模块,hashlib模块,configparser模块,pickle模块,正则

    时间模块 import time print(time.time()) # 当前时间戳 # time.sleep(1) # 时间延迟1秒 print(time.clock()) # CPU执行时间 p ...

  8. Python - configParser模块学习

    configParser 模块用于操作配置文件 注:Parser汉译为“解析”之意. 配置文件的格式与windows ini文件类似,可以包含一个或多个节(section),每个节可以有多个参数(键= ...

  9. configparser模块读写ini配置文件

    在自动化测试过程中,为了提高脚本的可读性和降低维护成本,将一些通用信息写入配置文件,将重复使用的方法写成公共模块进行封装,使用时候直接调用即可. 这篇博客,介绍下python中利用configpars ...

随机推荐

  1. yum tenxun ntpdate 时间同步

    centos7 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base ...

  2. the property “***” on could not be set to a null value

    在建立EF框架的时候,创建实体时由于部分数据库类型和.net类型不同,比如int类型,在数据库中是可空类型,而.net中是不允许的,所以创建实体的时候,数据库的int类型对应的实体类型应该为int?类 ...

  3. Linu下安装与卸载MySQL数据库

    卸载MySQL数据库,具体操作如下: (1)rpm -qa | grep -i mysql // 检查是否安装了MySQL的组件 (2)卸载前先关闭MySQL服务, a. b. (3)删除MySQL各 ...

  4. NOIP2017 D2T3 题解

    题面 这种数据范围不是乱搞dfs就是乱搞状压DP 首先应该通过任一方式求出a和b的值: 任意一条抛物线只用两头猪就可以确定,所以我们N^2枚举,并把在这两头猪的抛物线上的猪都存进状态state[i][ ...

  5. Centos8 安装ifconfig(net-tools.x86_64)

    情况: yum search net-tools.x86_64 没有找到结果 解决: 1.yum search net-tools 2. yum install -y net-tools.x86_64 ...

  6. PHP,mysql,nginxunx中安装

    一:安装PHP,mysql,nginx linux装软件方式: 1.源码安装:下载wget-->解压tar -zxvf -->配置 ./configure --->编译make -- ...

  7. Fiddler--手机端抓包

    1.打开fiddler,点击Tools--options 2.勾选 3.确保手机与电脑连接同一个WIFI 4.打开手机无线网络,选择连接的WiFi,然后在代理选择手动,输入ip和端口号,查看本机ip

  8. 33.服务之间的调用之RPC、Restful深入理解

    33.服务之间的调用之RPC.Restful深入理解 2018年05月08日 01:52:42 郑学炜 阅读数 13577更多 分类专栏: 6.框架   版权声明:本文为博主原创文章,遵循CC 4.0 ...

  9. C语言No such file or directory错误

    昨天晚上因为这个错误,都没睡好觉 早上六点起来查资料,换了个绝对路径就行了 #include"D:\软工专业\数据结构PPT和作业\实验作业\实验上机\单链表的基本操作\HeadFile.h ...

  10. Vue使用Elementui修改默认最快方法!

    相信大家都需要过,在Vue中使用Elementui的时候,遇到最多也最蛋疼的问题就是修改默认样式,接下来直奔主题: // template <el-progress :text-inside=& ...