《python编程快速上手》
第一部分 编程基础
@表达式
**
%
//
@
>>> int(3.4) 3
>>>round(3.555,2)
3.56
@判断条件时:0和0.0和‘’都是False
@终止进程
sys.exit()
@
>>> m=[1,2,3]
>>> print(m.pop())
3
>>> print(m)
[1, 2]
@陷入无限循环时
ctrl+c
@
print('cats','dog',sep=',')#Seperate
cats,dog
@try…except中,try里面有多个的话,一旦有触发except的,就不会再继续try。
@多重赋值
cat=['fat','black','loud']
size,color,disposition=cat
@sort()使用ASCII码排序,排序大写在小写前面
>>>spam=['a','Z','b','z']
>>>spam.sort(key=str.lower)#lower后面没有括号
>>>spam
['a', 'b', 'Z', 'z']
@字典中的get和setdefault
items={'apple':3,'cup':2}
print("i get {0} apples and {1} eggs".format(items.get('apple',0),items.get('egg',3)))
print(items)
print('---')
print("i get {} apples and {} eggs".format(items.setdefault('apple',0),items.setdefault('egg',3)))
print(items)
@迭代字符串,数各字母数
>>> message='lalalalawoshimaibaodexiaohangjia' >>> count={} >>> for character in message: count.setdefault(character,0) count[character]=count[character]+1 >>> print(count)
@漂亮打印
import pprint
>>> pprint.pprint(count)
@方法
index()
insert()
remove() tuple()
str()
list()
@转义字符:反斜杠
@is字符串方法
isalpha()
isalnum()
isdecimal()
isspace()
只有字母;
只有字母和数字;
只有数字;
只有空格、制表符、换行符。
@其它字符串方法
startswith()
endswith() join()
split() center(20,'=')
strip('abc')
@监控鼠标和键盘
https://www.jb51.net/article/146800.htm
调用剪切板(自制密码保管器)
import pyperclip,sys
pw={...}
count=sys.argv[1]
pyperclip.copy(pw[count])#保存到剪切板,直接鼠标右键粘贴就行
print(pyperclip.paste())#打印剪切板里的内容
第二部分 自动化任务
@正则
re.compile()==>search==》match对象==》group()#仅匹配一次
re.compile(()())==...》groups()
()?
(){}?
.*? #是满足条件的情况只匹配一次,即最小匹配.
*
+
|
.#除换行外通配,包括汉字;compile里面加re.DOTALL,则匹配所有字符
re.I
re.VERBOSE
[]内的普通正则符号不会被解释;
@读写文件
os
os.path.join(a,b)
os.chdir(a)
os.getcwd()
os.makedirs(a)
当前目录的相对路径‘.\’
os.path.abspath('.')==os.getcwd() path=r'E:\新python资料20180629\基础及爬虫入门视频'
os.path.basename(path)
>>>'基础及爬虫入门视频'
os.path.dirname(path)
>>>'E:\\新python资料20180629' os.path.getsize(path)
>>>4096
os.listdir(path)#本层的文件及文件夹名
>>>['01-Python基础-第01天(Linux基本操作)', '02-Python基础-第02天(Linux基本操作)',...] os.path.exists(path)
永久删除文件
os.unlink(path)
os.rmdir(dir)#必须是空文件夹
shutil.rmtree(dir)
删到垃圾箱
send2trash(path)
查看所有文件夹和文件名
import os
for flodername,subfolders,filenames in os.walk(path):
print(flodername)
for subfloder in subfo.ders:
print('{}:{}'.format(flodername,subfloder)
for filename in filenames:
print('{}:{}'.format(flodername,filename)
@zipfile模块
@批量调整文件名
"""批量调整名字"""
import re,os,shutil
#正则表达式
re_or=re.compile(r'(\d+)-(\d+)-(\d+)(.*)')
#检索文件夹内所有名字并匹配,组成新名字
path='' for or_name in os.listdir(path):
day_name=re_or.search(or_name).group(1)
mon_name=re_or.search(or_name).group(2)
year_name=re_or.search(or_name).group(3)
last_name=re_or.search(or_name).group(4)
new_name=mon_name+day_name+year_name+last_name
#***关于group的位置,compile(r'(1)(2(3))(4)')
or_file_path=os.path.join(path+or_name)
new_file_path=os.path.join(path+new_name)
shutil.move(or_file_path,new_file_path)
@项目:将一个文件夹备份到zip文件,P168
@第十章未看
@webbrowser,p192
@selenium,p210及以后
@
《python编程快速上手》的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- webpack 插件库
webpack常用的插件安装命令 webpack常用的插件安装命令:1:npm install html-webpack-plugin --save-dev //自动快速的帮我们生成HTML.2:np ...
- Spring EnableWebMvc vs WebMvcConfigurationSupport
EnableWebMvc vs WebMvcConfigurationSupport spring doc解释 WebMvcConfigurationSupport: This is the main ...
- 1130-Host '192.168.0.105' is not allowed to connect to this MySQL server的解决方案
在CentOS 7服务器(192.168.0.118)上安装mysql5.7.17后,在本地(192.168.0.105)通过Navicat连接服务器上的MySQL报错,报错如图所示: Paste_I ...
- 使用JBolt新建Maven版工程步骤
一.打开新建对话框 在左侧右键new中可以找到JFinal创建工程的菜单 JBoltHome页面也有快捷按钮用来弹出创建工程对话框. 二.填写Maven和其他信息配置 填写工程name 主包名 下面有 ...
- [双系统linux] ----双系统切换导致系统时间错误
安装了linux双系统以后,发现每次双系统切换以后系统时间总会错误. 原因:Linux和win7(win10)双系统时间错误问题 时间相差8小时 MAC/linux 将系统硬件时间看待为UTC, 即U ...
- 在windows上编译apr库
环境: win7_x64旗舰版.VS2015企业版.CMake3.8 一.下载apr相关库 1.1)expat下载地址:https://github.com/libexpat/libexpat/rel ...
- Yii2 设计模式——设计模式简介
我们首先来思考一个问题:作为工程师,我们的价值是什么? 笔者认为是——解决用户问题. 我们的任何知识和技能,如果不能解决特定的问题,那么就是无用的屠龙之术:我们的任何经验,如果不能对解决新的问题有用, ...
- 搞懂iobuffer就得先学习bytebuffer
ByteBuffer前前后后看过好几次了,实际使用也用了一些,总觉得条理不够清晰. <程序员的思维修炼>一本书讲过,主动学习,要比单纯看资料效果来的好,所以干脆写个详细点的文章来记录一下. ...
- FPGA Asynchronous FIFO设计思路(2)
FPGA Asynchronous FIFO设计思路(2) 首先讨论格雷码的编码方式: 先看4bit的格雷码,当MSB为0时,正向计数,当MSB为1时,即指针已经走过一遍了,最高位翻转,此时的格雷码是 ...
- SSO单点登录三种情况的实现方式详解
单点登录(SSO——Single Sign On)对于我们来说已经不陌生了.对于大型系统来说使用单点登录可以减少用户很多的麻烦.就拿百度来说吧,百度下面有很多的子系统——百度经验.百度知道.百度文库等 ...