《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 安装并启动 ...
随机推荐
- 从原型链探究Javascript这么火的原因
首先,此文是对于javascript原型链的一些私人见解,若能博君会心一笑,在下荣幸之至! 为了阐述我的理解,首先提前声明一些前置知识,欢迎指正: 栈内存和堆内存: 栈内存每个地址分配的地址长度较窄, ...
- Linux 系统的用户和组
目录 1. 用户及组相关文件 2. 用户相关查询 2.1 直接通过cat文件查看用户及组文件内容 2.2 使用下面查询命令查看 3. 使用操作命令修改用户及组相关文件 3.1 专有编辑命令(仅限高级用 ...
- 学习笔记CB011:lucene搜索引擎库、IKAnalyzer中文切词工具、检索服务、查询索引、导流、word2vec
影视剧字幕聊天语料库特点,把影视剧说话内容一句一句以回车换行罗列三千多万条中国话,相邻第二句很可能是第一句最好回答.一个问句有很多种回答,可以根据相关程度以及历史聊天记录所有回答排序,找到最优,是一个 ...
- 内网渗透 关于GPO
网上有很多讲内网渗透的文章,但看来看去还是一老外的博客给力,博客地址:www.harmj0y.net/blog,看完就明白这里面的很多思路都非常好. 做内网时,有时会碰到目标的机器开防火墙,所有端口基 ...
- Centos7快速安装docker
偶然间发现,docker的安装好容易啊 系统环境:centos7.3 yum源: docker:https://mirrors.aliyun.com/docker-ce/linux/centos/do ...
- Mvc Session 设置以后再构造函数中取值时为null问题
在登录界面写了一个session在 别的页面的构造函数中获取始终未null 后来改成 System.Web.HttpContext.Current.Session["User"] ...
- [delphi]在DLL中多线程同步Synchronize卡死问题
在dll中多线程同步调用Synchronize不可以,会出现假死卡住的现象.可通过Sendmessage实现. 转网上其他文章解释: Application.Initialize; begin ...
- Java 序列化 返序列化
原文: http://www.cnblogs.com/xdp-gacl/p/3777987.html 一.序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化. 把字节序列恢复为对象 ...
- C++标准模板类库(STL)之queue初步
1,STL里有些什么? 包括三个内容:容器.迭代器.算法. 2,容器有哪些? 有stack, vector, queue, deque, list, set, multiset, map, multi ...
- python文件管理小计
1.读取只当路径下所有文件和文件夹 import os def file_name(file_dir): for root, dirs, files in os.walk(file_dir): pri ...