项目场景:

`python日常简单库的使用如:txt文件操作、numpy操作、字典操作、取整操作等。


python读写txt

# 1.读取所有行
with open('test.txt','r', encoding='UTF-8') as f:data = f.readlines()
print(data)
# 2.读取单行
with open('test.txt','r', encoding='UTF-8') as f:data = f.readline()
print(data)
# 3.读取文件所有内容
with open('test.txt','r', encoding='UTF-8') as f:data = f.read()
print(data)
# 4.写文件操作
>>> f = open('test.txt', 'w') # 若是'wb'就表示写二进制文件
>>> f.write('Hello, world!')
>>> f.close()

numpy保存数据/加载数据/字典格式

import numpy as np
test = {'name':'xiaoming','age':12,'job':'student'}
>>> import numpy as np
>>> test = {'name':'xiaoming','age':12,'job':'student'}
>>> np.save('test.npy',test)
>>> load_test = np.load('test.npy',allow_pickle=True)
>>> load_test.item()
{'name': 'xiaoming', 'age': 12, 'job': 'student'}
>>> load_test.item().get('name')
'xiaoming'

循环读取字典

>>> test = {'name':'xiaoming'}
>>> for (key,value) in test.items():
>>>     print(key+':'+value)
'name':'xiaoming'

四舍五入

>>> round(1.2)
1
>>> round(1.9)
2

向上向下取整

# 向上取整
>>> import math
>>> math.ceil(1.1)
2
>>> math.ceil(1.4)
2
>>> math.ceil(1.9)
2
# 向下取整
>>> import math
>>> math.floor(1.9)
1
>>> math.floor(1.5)
1
>>> math.floor(1.2)
1

python列表追加元素的两种方式

# 第一种方式(append)
>>> aaa = [1,2,3]
>>> bbb = [4,5,6]
>>> aaa.append(bbb)
>>> aaa
[1, 2, 3, [4, 5, 6]]
第二种方式(extend)
>>> aaa = [1,2,3]
>>> bbb = [4,5,6]
>>> aaa.extend(bbb)
>>> aaa
[1, 2, 3, 4, 5, 6]

python列表排序内置函数

# sort直接改变原始列表,没有返回值。通过设置超参数reverse来控制正反序
>>> aaa = [1,2,3]
>>> bbb = [4,5,6]
>>> aaa = [1,3,2,5,4,2]
>>> aaa
[1, 3, 2, 5, 4, 2]
>>> aaa.sort()
>>> aaa
[1, 2, 2, 3, 4, 5]
>>> aaa.sort(reverse=True)
>>> aaa
[5, 4, 3, 2, 2, 1]# sorted,不直接改变原始列表,有返回值。通过设置超参数reverse来控制正反序
>>> aaa = [1,3,5,2,4,6]
>>> aaa
[1, 3, 5, 2, 4, 6]
>>> bbb = sorted(aaa)
>>> bbb
[1, 2, 3, 4, 5, 6]
>>> ccc = sorted(aaa,reverse=True)
>>> ccc
[6, 5, 4, 3, 2, 1]# 增加知识点
# python中并无直接返回下标的函数,如果需要从pyton底层做这事,可以使用sort或者sorted加上for循环获取index。
# numpy中有函数返回排序后的下标:argsort
# torch自带的sort函数可以直接返回排好序的列表和对应的索引(推荐

python列表逆序

>>> aaa = [1,2,3,4,5,6]
>>> aaa
[1, 2, 3, 4, 5, 6]
>>> aaa.reverse()
>>> aaa
[6, 5, 4, 3, 2, 1]

python中的深拷贝和浅拷贝

"""
概念:
概念:浅拷贝:只是增加了一个指针指向已存在的内存地址深拷贝:是增加了一个指针并且申请了一个新的内存,使这个增加的指针指向这个新的内存,
表象:假设B复制了A,修改A的时候,看B是否发生变化:如果B跟着也变了,说明是浅拷贝如果B没有改变,说明是深拷贝
"""
# python赋值(只要初始元素进行了修改,赋值之后的元素也会修改,反之亦然)
>>> aaa = [1,2,3]
>>> bbb = aaa
>>> aaa.append(4)
>>> aaa
[1, 2, 3, 4]
>>> bbb
[1, 2, 3, 4]
>>> aaa[0] = 100
>>> aaa
[100, 2, 3, 4]
>>> bbb
[100, 2, 3, 4]# 浅拷贝(初始元素的直接子元素修改后不会影响到拷贝后的元素,但是如果某个元素是可迭代对象,那么就会影响到后来的元素)
>>> aaa = [1,2,[3,4]]
>>> bbb = aaa.copy()
>>> aaa[0] = 100
>>> bbb.append(0)
>>> aaa
[100, 2, [3, 4]]
>>> bbb
[1, 2, [3, 4], 0]
>>> aaa[2].append(200)
>>> aaa
[100, 2, [3, 4, 200]]
>>> bbb
[1, 2, [3, 4, 200], 0]# 深拷贝(拷贝后的变量和原来的变量没有任何关系,除了值一样,改变前后两个变量都是独立的,不会对另一个产生影响)
>>> import copy
>>> aaa = [1,2,[3,4]]
>>> bbb = copy.deepcopy(aaa)
>>> aaa
[1, 2, [3, 4]]
>>> bbb
[1, 2, [3, 4]]
>>> aaa.append(5)
>>> bbb[0] = 100
>>> aaa
[1, 2, [3, 4], 5]
>>> bbb
[100, 2, [3, 4]]
>>> aaa[2].append(5)
>>> aaa
[1, 2, [3, 4, 5], 5]
>>> bbb
[100, 2, [3, 4]]

python读写excel文件

# 读取excel
>>> import xlrd
>>> readbook = xlrd.open_workbook(r'\test\canying.xlsx')
>>> sheet = readbook.sheet_by_index(1)#索引的方式,从0开始
>>> sheet = readbook.sheet_by_name('sheet2')#名字的方式
>>> nrows = sheet.nrows#行
>>> ncols = sheet.ncols#列
>>> lng = table.cell(i,3).value#获取i行3列的表格值
>>> lat = table.cell(i,4).value#获取i行4列的表格值# 写入excel
>>> import xlwt
>>> writebook = xlwt.Workbook()#打开一个excel
>>> sheet = writebook.add_sheet('test')#在打开的excel中添加一个sheet
>>> sheet.write(i,0,result[0])#写入excel,i行0列
>>> writebook.save('answer.xls')#一定要记得保存

python中的map函数和lambda函数(匿名函数)

>>> def square(x) :         # 计算平方数
...     return x ** 2
...
>>> map(square, [1,2,3,4,5])    # 计算列表各个元素的平方
<map object at 0x100d3d550>     # 返回迭代器
>>> list(map(square, [1,2,3,4,5]))   # 使用 list() 转换为列表
[1, 4, 9, 16, 25]
>>> list(map(lambda x: x ** 2, [1, 2, 3, 4, 5]))   # 使用 lambda 匿名函数
[1, 4, 9, 16, 25]

numpy打乱列表顺序

>>> aaa = [i for i in range(10)]
>>> aaa
[0,1,2,3,4,5,6,7,8,9]
>>> np.random.shuffle(aaa)
>>> aaa
[1 7 5 2 9 4 3 6 0 8]

tensorboardX记录模型训练损失和精度

from tensorboardX import SummaryWriter
import numpy as np
# 训练程序中加入以下内容
writer = SummaryWriter('logs')
for i in range(100):#当数据只有一个时writer.add_scalar("train_acc",i,i)#当数据不止一个时writer.add_scalars("train_acc_loss",{"acc":i,"loss":100-i},i)
writer.close()查看训练精度和损失,再另一个终端输入
tensorboard --logdir "logs"

json读写

import json
test_dict = {'bigberg': [7600, {1: [['iPhone', 6300], ['Bike', 800], ['shirt', 300]]}]}
with open("./record.json","w") as f:# indent=4的作用是格式化输出f.write(json.dumps(test_dict, indent=4))print("加载入文件完成...")

str操作(zfill() 方法返回指定长度的字符串,原字符串右对齐,前面填充0)

num = 1
str(num).zfill(8)
# '00000001'

递归获得一个文件夹内的所有文件(包括子文件夹)

import os
def get_filelist(dir):Filepathlist = []for home, dirs, files in os.walk(dir):for filename in files:Filepathlist.append(os.path.join(home, filename))return Filepathlist

查询python解释器路径

import sys
import osprint('当前 Python 解释器路径:')
print(sys.executable)

报错:

SyntaxError: Non-ASCII character ‘\xe8’ in file 1.py on line 3, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

解决方案:

在Python文件添加开头:#encoding:utf-8

python日常总结相关推荐

  1. Python日常+笔面试

    Python日常学习 三维转二维: 例:X(200,200,106)->newX(40000,106) newX = np.reshape(X, (-1, X.shape[2])) 二维变三维: ...

  2. Python日常(13):字符串的格式化输出(format方法和%输出)

    目录 前沿 字符串的格式化输出 (1)format方法 ①基本输出格式 ②实例 (2)%输出方法 ①基本输出格式 ②实例 作者的话 参考文献 前沿 前面我们基本上已经把python基础的操作初略的说完 ...

  3. python日常记账本源代码,基于PySide6,支持快速查询、绘制图表

    python日常记账本源代码,基于PySide6(Qt for Python 6)的账本,界面简洁.功能强大,支持保存文件.快速查询.绘制图表等,是平时记账的不错选择.账目查询.账本编辑.添加/删除. ...

  4. Python日常用法—将列表信息写入到csv文件、列表中的元素直接更改

    Python日常用法-将列表信息写入到csv文件 1.模板 # 编写数据 import csvdata_list = [{'皇马球员': 'C罗', '号码': '7', '国籍': '葡萄牙'}, ...

  5. 【python日常学习】爬取4K桌面壁纸

    [python日常学习]爬取4K桌面壁纸 这个网站都是4K的桌面壁纸. 不多说,直接上代码 import re import requests import osdef get_page():page ...

  6. Python日常学习杂记

    Python日常学习杂记 python -c 的作用 在命令行里执行python时,如果加上 -c,即 python -c xxx 那么,xxx就被当做一条指令(command)来执行,否则,就当做脚 ...

  7. Python日常(5):元组的创建、增加、修改、删除

    目录 1.元组的创建 2.元组的增加 3.元组的修改 4.元组的删除 作者的话 1.元组的创建 (1)tuple()函数 问题: 元组的创建需要注意的是,tuple()函数的参数接收的为可迭代类型,在 ...

  8. Python日常办公10大小技巧

    今天给大家介绍11个我们在日常办公中或许或用到的11个python第三方库,都是非常有用的,下面是目录. 1.生成二维码 2.快速定位截屏 3.鼠标移动点击(非常好用) 4.图片转文字(有两个拓展库) ...

  9. python壁纸4k_【python日常学习】爬取4K桌面壁纸

    [Python] 纯文本查看 复制代码import re import requests import os from time import sleep def get_page(): page = ...

最新文章

  1. 计算机二级第十七套真题,2012年计算机二级VB第十七套上机试题及解析.doc
  2. html5游戏加载动画,HTML5 战场3游戏的加载指示动画
  3. 安装Hbase(分布式)遇到一些问题及解决方法
  4. html5中的css特性,浅谈HTML5 CSS3的新交互特性
  5. 常见的技术类英文字母含义总结,Localhost、SDK、URL 等(持续更新中)
  6. 解决Vista文件操作缓慢问题:五大方案
  7. Docker卸载镜像
  8. 对数据库设计的一点感想
  9. 专业制造计算机电缆,茶陵DJYP2VP2-22计算机电缆专业制造
  10. win10键盘失效问题
  11. win10计算机无访问权限,win10系统提示无internet访问权限怎么办
  12. 【系统】ThrottleStop软件使用教程入门级,游戏+工作两种解决cpu过热方案
  13. 运用c++编写一个计算三角形周长和面积的程序
  14. Element-UI源码学习——弹框组件
  15. windows输入法输入英文字母中间有空格
  16. 微软OpenPAI平台搭建指南
  17. 中大计算机考研复试刷人太狠,为何考研初试分数很高的人在复试中被刷?这4个致命失误你犯了?...
  18. MATLAB 神经网络模板
  19. linux dbg,linux下dbg
  20. 20162311 2016-2017-2《程序设计与数据结构》课程总结

热门文章

  1. ubuntu安装串口工具minicom
  2. 一个不错的免费二级域名,可以自己解析A记录 CNAME等,而且是备案的域名。
  3. 运行游戏时出现0xc000007b错误的解决方法
  4. Windows10专业版IE部分英文部分中文的修改
  5. 低温泵变频matlab,低温地热间接供热换热参数优化与MATLAB实现
  6. 微信小程序-简单出售商品示例
  7. flash助手推荐怎么关闭
  8. html5才有的标签是什么意思,html5header标签是什么意思?html5header标签的用法详解(附实例)-...
  9. DL4J实战之三:经典卷积实例(LeNet-5)
  10. springboot1:项目启动