# 创建配置文件 import configparser config = configparser.ConfigParser() # 相当于config = {} 空字典 config["default"] = {"ServerAliveInterval":"45", "Compression": "yes", "CompressionLevel": "9"} config['DEFAULT']['ForwardX11'] = 'yes' config['bitbucket.org'] = {} config['bitbucket.org']['User'] = 'hg' config['topsecret.server.com'] = {} topsecret = config['topsecret.server.com'] topsecret['Host Port'] = '50022' # 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模块:

1 # os模块________________________ 2 print(os.getcwd()) # 当前工作目录 3 os.chdir("tmp") # 改变当前工作目录 4 print(os.getcwd()) 5 6 # os.makedirs("dirname1/dirname2") # 建多个 7 # os.removedirs("dirname1/dirname2") # 删除空目录(如果不为空不删除) 8 # print(os.mkdir("t4.py")) #创建单个文件夹 9 # print(os.rmdir("t4.py")) # 删除单个目录,目录必须为空 10 # print(os.remove("__init__.py")) # 删除一个文件 11 # print(os.rename("test.py", "test2.py")) # 修改文件名 ("oldname","newname") 12 13 print(os.listdir()) # 工作目录下载所有文件 14 15 print(os.stat("test.py")) # 文件创建以及其他一系列的信息 16 print(os.sep) # 当前操作系统的路径分隔符\ 17 print(os.linesep) # window \t\n linux\n 18 print(os.pathsep) # ; 分割文件路径 linux用:(冒号) 19 # print(os.system("dir")) # 执行命令 20 21 print(os.path.split("test/file.py")) # 路径分割 22 print(os.path.dirname("test/file.py")) # 拿到上级目录 23 print(os.path.basename("test/file.py")) # 拿到文件名 24 25 # 下面是用来是判断绝对路径 26 print(os.path.exists(r"Users\lzh\PycharmProjects\day05")) 27 print(os.path.exists(r"C:\Users\lzh\PycharmProjects\day05\t1.py")) 28 print(os.path.isabs(r"C:\Users\lzh\PycharmProjects\day05\t1.py")) # 是否是绝对路径 29 print(os.path.isfile(r"C:\Users\lzh\PycharmProjects\day05\t1.py")) 30 print(os.path.isdir(r"C:\Users\lzh\PycharmProjects\day05")) 31 print(os.path.getatime(r"C:\Users\lzh\PycharmProjects\day05")) # 最后的存取时间 32 t1 = os.path.getatime(r"C:\Users\lzh\PycharmProjects\day05") 33 print(os.path.getmtime(r"C:\Users\lzh\PycharmProjects\day05")) # 最后修改时间 34 print(os.environ)
random模块:

1 # random模块______________________ 2 3 import random 4 print("_____________________") 5 ret = random.random() # 0.7300862907438088 6 print(ret) 7 print(random.randint(1, 3)) # [1, 3] 之间的随机整数 8 print(random.randrange(1, 3)) # [1,3) 9 print(random.choice([1, 3, 4])) # 随机选取 10 print(random.sample([1, 2, 3, 4], 2)) # [2, 1] 11 print(random.uniform(1, 4)) # (1, 4)之间的浮点数 12 print(random.shuffle([1, 2, 3, 4, 5])) # 打乱可迭代对象中的顺序 13 14 # 验证码 15 def v_code(): 16 ret = "" 17 for i in range(5): 18 num = random.randint(0, 9) 19 alf = random.randint(65, 122) 20 s = str(random.choice([num, chr(alf)])) # 相同的概率拿到 21 ret += s 22 return ret 23 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", : 20} # f["info"] = {"name": "alex1", "age", : 20, "gender": "男"} # f.close() print(f.get("info")["name"])

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))