1. 确定文本编码
# coding=utf-8
def check_charset(file_path):
import chardet
with open(file_path, "rb") as f:
data = f.read(4)
charset = chardet.detect(data)['encoding']
return charset
2. 拆分文件
# coding=utf-8
def split_file(file_path,num):
with open(file_path, "r") as f:
s = f.read();
for i in range(num):
with open(file_path+str(i+1), 'w',encoding='utf8') as ff:
ff.write(s[int(len(s)/num*i): int(len(s)/num*(i+1))])
print('第',str(i+1),'个文件写入完成')
3.列举文件夹下的文件
import os
src_dir='E:/temp'
target_dir='D:/download'
for root, dirs, files in os.walk(src_dir, topdown=True):
for name in files:
# create_empty(os.path.join(target_dir, name))
# print('created '+name)
print(os.path.join(root, name))
# for name in dirs:
# print(os.path.join(root, name))
4.创建空文件(如果已存在,不变动)
def create_empty(file_name):
with open(file_name,"a") as f:
pass
5.获取文件修改时间
def get_modify_date(file_name):
times = os.path.getmtime(file_name)
localtime = time.localtime(times)
# print(time.strftime("%Y-%m-%d %H:%M:%S",localtime))
# print(time.strftime("%Y-%m-%d",localtime)=='2022-09-12')
return time.strftime("%Y-%m-%d",localtime)
6.复制文件
import shutil
shutil.copy(src_dir,target_dir)
7.字符串数据库与驼峰转换
[a.split('_')[0].lower() + ''.join([i.capitalize() for i in a.split('_')[1:]]) for a in ['BILLACCOUNT_CODE','BILLACCOUNT_NAME']]
8.mysql
import pymysql
import requests
data = []
conn = pymysql.connect(host="", port=3306, user='', passwd='', db='', charset='utf8')
cursor = conn.cursor(pymysql.cursors.DictCursor)
cat_param = []
for cat in data:
print(cat)
name = cat['cate_name']
num = cat['cate_num']
oid = cat['cate_id']
cursor.executemany("INSERT INTO `favorite`.`t_fav_category` (`name`, `count`, `origin_id`, `create_time`) VALUES (%s,%s,%s,NOW())",
[[name,num,oid]])
new_id = cursor.lastrowid
print('newid'+str(new_id))
childs_arr = []
for one in cat['childs']:
one_catid = new_id
one_origid = one['id']
one_title = one['title']
one_cover = one['cover']
g = requests.get(one_cover)
one_cover_data = g.content
one_upname = one['upname']
one_pubt = one['pubtime']
one_favt = one['favtime']
one_link = one['link']
one_item = (one_catid,one_origid,one_title,one_cover,one_cover_data,one_upname,one_pubt,one_favt,one_link)
childs_arr.append(one_item)
cursor.executemany("INSERT INTO `favorite`.`t_fav_item` \
(`cat_id`, `origin_id`, `title`, `cover`,cover_data, `up_name`, `pub_time`, `fav_time`, `link`, `create_time`) \
VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,NOW())",
childs_arr)
# print(childs_arr)
conn.commit()
cursor.close()
conn.close()
# print(len(data))
9.requests
import requests
g = requests.get('http://i2.hdslb.com/bfs/archive/1d3805a8b91d049af93f43897267a7de1baa59e8.jpg')
with open('E:/work/20230402/a.jpg','wb') as f:
f.write(g.content)
10.获取运行参数
# -*- coding: utf-8 -*-
import argparse
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('--a', type=int, default=5,help='这是帮助信息')
parser.add_argument('--b', type=float, default=0.1)
parser.add_argument('--c', type=str, default="abc")
parser.add_argument('--d', type=bool, default=True)
opt = parser.parse_args()
print(opt.a,opt.b,opt.c,opt.d)