0. 空白模板
# -*-coding:utf-8-*-
if __name__ == '__main__':
1. 文件类
1.1 文件操作
1.1.1 文件复制、移动、删除
import shutil,os
#文件复制
shutil.copy(r'C:\a.txt',r'D:\')
#复制并重命名
shutil.copy(r'C:\a.txt',r'D:\b.txt')
#复制整个目录(备份)
shutil.copytree(r'C:\',r'D:\')
#文件移动
shutil.move(r'C:\a.txt',r'D:\')
#移动文件夹
shutil.move(r'C:\',r'D:\')
#删除文件
os.unlink(r'C:\a.txt')
#删除空文件夹
try:
os.rmdir("C:\\b\\new_a")
except Exception as ex:
print("错误信息:"+str(ex))#提示:错误信息,目录不是空的
#删除文件夹及内容
shutil.rmtree("C:\\b\\new_a")
#重命名文件
shutil.move(r'C:\a.txt',r'C:\b.txt')
#重命名文件夹
shutil.move(r'C:\a\',r'C:\b\')
1.1.2 统计文件夹内文件个数以及名称
import os
def get_file_num(file_dir):
for root, dirs, files in os.walk(file_dir):
files_num = 0
files_name = []
for i in files:
files_name.append(os.path.join(root, i))
files_num = files_num+1
return files_num, files_name
1.1.3 统计文件夹内文件地址
import os
def get_file_path(file_dir):
for root, dirs, files in os.walk(file_dir):
j = 0
file_path = [[0 for col in range(1)] for row in range(len(files))]
for i in files:
file_path[j] = root + '\\' + i
j = j+1
return file_path
1.1.4 判断文件夹是否存在并且创建
if not os.path.isdir(dir_path):
os.makedirs(dir_path)
1.2 txt 文本类
1.2.1 txt数据保存
def save_txt(data,path):
file_write_obj = open(path, 'w')
file_write_obj.write(data)
file_write_obj.close()
1.2.2 读取TXT文本数据并存为 array
import numpy as np
def get_txt_data(txt_path):
f = open(txt_path)
line = f.readline()
data_list = []
while line:
num = list(map(float, line.split()))
data_list.append(num)
line = f.readline()
f.close()
return np.array(data_list)
1.3 Excel 类
1.3.1 Excel读取
def read_excel(path):
data = xlrd.open_workbook(path)
table = data.sheets()[0]
nrows = table.nrows # 行数
ncols = table.ncols # 列数
c1 = np.arange(0, nrows, 1)
datamatrix = np.zeros((nrows, ncols))
for x in range(ncols):
cols = table.col_values(x)
minVals = min(cols)
maxVals = max(cols)
cols1 = np.matrix(cols) # 把list转换为矩阵进行矩阵操作
ranges = maxVals - minVals
b = cols1 - minVals
normcols = b / ranges # 数据进行归一化处理
datamatrix[:, x] = normcols # 把数据进行存储
return datamatrix
1.3.1 Excel写入
import xlwt
file = xlwt.Workbook()
table = file.add_sheet('sheet name')
for i in range(10):
table.write(i, 0, i)
file.save('xls_save.xls')
2. 变量
2.1 float与int
float转int
直接舍去小数位
int(3.7)
四舍五入(在int函数内加上0.5起到四舍五入的效果)
a = 3.7
b = int(a + 0.5)
int转float
a = float(3)
2.2 字符串与字典
字符串转换为字典:
str_test = "{'a': 1, 'b': 2}"
dict_test = eval(str)
print dict_test
字典转换为字符串:
dict_test = {'a': 1, 'b': 2}
str_test = str(dict)
print str_test
2.3 列表转字符串
list_a = []
list_a.append('a')
list_a.append('b')
str_a = ''.join(list_a)
2.4 int与string
string转int
int('12')
int转string
str(18)
2.5 列表乱序
import random
random.shuffle(li)
3. 输入输出
3.1 print控制输出小数位数
print("%.2f"%(3.14159256))
4. 时间
4.1 计算程序运行时间
import time
start = time.time()
········
end = time.time()
print str(end-start)
5.结构
类嵌套
class Info:
state = 0
fil = 0
v = 0
a = 0
class State:
x = Info
y = Info
w = Info
h = Info
if __name__ == '__main__':
point = []
for i in range(10):
point.append(State)
point[5].h.state = 5
print(point[5].h.state)
6. 其他
voc数据名称
voc_name = '0'*(6-len(str(i))) + str(i)