<读书笔记>python笔记

1.Linux基础

  操作系统:

      1.桌面操作系统(个人电脑)

      • Windows(个人,用户群体大,应用软件多)
      • Linux(应用软件少)
      • macOS(开发人员,,苹果公司,Unix)        

      2.服务器操作系统

      3.嵌入式操作系统(智能硬件,人工智能)

      • Linux            

      4.移动设备操作系统

      • IOS
      • Android(基于Linux) 

  虚拟机:本质是一个软件,用于模拟硬件设备(辅助学习陌生的操作系统)

 

  Windows:单用户操作系统

  Unix,Linux:多用户操作系统

Linux文件系统:

  1. 没有盘符的概念
  2. /是根目录、/home存储多用户各自的文件 
  3. /etc :保存配置目录
  4. /bin:可执行二进制文件   

图形界面的基本使用

  1. 任务栏:左边一栏
  2. ctrl+alt+t:终端
  3. Ctrl+shift+=:放大字体
  4. ctrl+-:缩小字体
  5. tab :自动补全

Linux终端命令(服务器的管理维护工作是通过SSH客户端完成的,所有需要了解Linux终端命令)(常用)

  1. ls:查看当前文件夹的内容
  2. pwd:查看当前所在的工作文件夹
  3. clear:清空屏幕
  4. touch:创建文件(touch 123.txt)
  5. cd:切换目录
  6. mkdir:创建目录
  7. rm:删除文件
  8. 命令 --help:获取帮助信息
  9. man 命名:终端命令的详细使用手册

常见命令

  • 查看目录的内容
    • ls:一个文件夹下的全部内容
    • .开头的文件是隐藏文件
    • ls -a:查看全部文件,包括隐藏文件
    • ls -l:以列表的方式,显示详细信息(创建时间,日期,占用空间大小,文件或文件夹)
    • ls -l -h :以列表的方式显示详细信息而且显示大小(可以以 ls -alh的方式使用)
    • .表示当前目录
    • ..表示上一级目录
  • 文件相关命令
    • touch 文件名:存在就修改最后修改日期,不存在则创建
    • mkdir  目录名:创建目录
    • mkdir -p a1/b1/c1/d1:连续创建多个目录(目录与文件不允许重名)
    • rm 文件名: 删除文件或目录(直接从磁盘删除,不会进入回收站,不能回复)
    • rm -r 目录名:可以一次性删除多级目录
    • rm -f 目录名:强制删除(有就删除,没有也没有提示信息)
    • rm *3:可以通过通配符删除以3结尾的文件
    • tree 目录名:以树状图列出目录结构
    • cp 源文件 目标文件:复制源文件(cp ~/桌面/123.txt .)
    • tree -d 目录:只显示目录
    • cp -i  ~/桌面/123.txt ./a1/b1:提示复制是否覆盖
    • cp -r 源目录 目标目录:复制目录
    • mv 源文件 目标文件:移动文件
    • mv 源文件 目标文件:都在当前目录,就会实现重命名
    • mv -i 源文件 目标文件:覆盖前提示
    • cat 文件名:查看文件所有内容
    • more 文件名:查看分屏查看部分内容,按空格键查看剩下的内容,按回车滚动一行,b回滚一屏,f前滚一屏,q退出
    • cat -b 文件名:查看内容并添加行号(不包括空行)
    • cat -n 文件名:标识所有行的行号,包括空行
    • grep  搜索内容 文件名:类似Ctrl+F的搜索
    • grep -n 搜索内容 文件名:搜索并显示行号
    • grep -v 搜索内容 文件名:搜索不包括搜索内容的(想包括行号就加入n,写成-vn
    • grep -i 搜索内容 文件名:搜索且忽略大小写
    • grep ^xxx$ 文件名:利用正则表达式,限制首尾的搜索
    • echo 文字内容:传递给终端的参数命令再显示一遍
    • 重定向:本应显示在终端中的内容输出或追加到指定文件中(>表示输出,>>表示追加),保存输出结果
    • echo xxx > 文件名:输出到指定文件,会完全覆盖
    • echo xxx >> 文件名:追加到指定文件的末尾
  • 远程管理命令
    • shutdown 选项 时间:关机或重启(默认关机 ,-r代表重启(时间为now表示立即重启),时间默认一分钟,shutdown -c取消关机或重启操作) 
    • shutdown 20:30、+10、now:三种时间写法(一般维护重启,不要关机,没人给你开机)
    • 网卡:负责网络通信的硬件设备(SIM卡)
    • ip:网卡上的地址信息(电话号码)
    • ifconfig:查看/配置计算机当前的网卡配置信息
    • ping 地址:检测目标ip地址链接是否正常
    • ifconfig | grep inet:管道是将前一个的输出结果作为后一个的输入
    • 域名:IP地址的别名
    • 端口号:通过IP地址找到计算机,通过端口号找到计算机上安装的程序
    • 默认端口号:SSH服务器(22),web服务器(80),https(443),ftp(21)
    • ssh [-p port]用户名@远程机器的地址(IP地址,域名,别名):管理服务器
    • scp -P 22 用户名@远程机器地址:路径     :复制远程电脑上的文件
    • tar -cvf  打包文件.tar 被打包文件/路径(多个文件用空格分割):打包文件(tar -cvf py.tar 01.py 02.py 03.py),只负责打包不负责压缩
    • tar -xvf  打包文件.tar:解包文件,先CD到需要解压的目录(tar -xvf py.tar)
    • gzip:可以压缩文件,tar和gzip结合就可以实现压缩成一个包
    • tar -zcvf 打包压缩文件.tar.gz 被打包文件/路径(多个文件用空格分割):打包并压缩
    • tar -zxvf  打包解压缩文件.tar.gz:解压缩
    • bzip2(two):压缩格式是,压缩文件.tar.bz2(同gzip类似)
    • tar -jcvf 打包压缩文件.tar.bz2 被打包文件/路径(多个文件用空格分割):打包并压缩
    • tar -jxvf  打包解压缩文件.tar.bz2:解压缩
  • vi编辑器,Vim是VI发展起来的
    • 没有图形界面,用VI最佳的选择
    • 只支持文本的编辑,不支持鼠标操作,没有菜单,只有命令
    • vi 文件名:打开文件
    • vi 新的文件名:新键文件
    • vi 文件名 +行数:定位的行 
    • vi 文件名 +:定位的末尾
    • python py文件名:python2运行
    • python3 py文件名:Python3运行
    •  

    

访问私有属性,私有方法

对象._属性名/方法名__私有属性 :用这种方式可以访问私有属性,不提倡 

 

2.笔记

异常

# 异常初级版
# 错误跳到except
'''
try:
	# 不能确定的代码
	num = int(input("请输入整数:"))
	print(num)
except:
	# 错误提示
	print("别输入非整数")
'''
# 错误类型的捕获,函数出现异常会传递给调用函数的一方,如果没有处理异常就停止
# 函数的传递性,通常将对异常的处理放在主程序中
try:
	num = int(input("请输入一个整数:"))
	result = 8 / num
	print(result)
except ZeroDivisionError:
	print("除0错误")
except ValueError:
	print("请输入正确的整数")
except Exception as error:
	print("未知错误 %s" % error)
else:
	# 没有错误会执行,出现错误就跳过
	print("成功")
finally:
	print("无论错误与否都指向的代码")

print("后续代码")

# 主动抛出异常
def input_password():
	pwd = input("输入密码(大于八位):")
	if len(pwd) >= 8:
		return pwd
	# 1.创建异常对象
	ex = Exception("密码长度有问题")
	# 2.主动抛出异常
	raise ex
try:
	print(input_password())
except Exception as result:
	print(result)

  

 

 包的使用:同时导入相关联的包

包名:hk_learn

__init__.py

from . import send_message
from . import receive_message

  

send_message.py

def send(text):
	print("正在发送%s"%text)

  

receive_message.py

def receive(text):
	return "接收到消息的短信"

  

 

外界使用这个包

hk.py

import hk_learn

hk_learn.send_message.send("hello")
text = hk_learn.receive_message.receive('hello')
print(text)

  

 

发布模块 

1.制作setup.py

from distutils.core import setup

setup(name="hk_learn",  # 包名
	  version="1.0",  # 版本
	  description="发送信息",  # 描述信息
	  long_description="发送信息1.0",  # 完整的描述信息
	  author="hk",  # 作者
	  author_email="hk@qq.com",  # 作者邮箱
	  url="www.hk.com",  # 主页
	  # 包含的模块
	  py_modules=["hk_learn.send_message",
				  "hk_learn.receive_message"])

  

在包所在目录下

F:\learn_python\pack>python setup.py build

 

F:\learn_python\pack>python setup.py sdist

  

运行结果

 

 

其中dist下的压缩包就是需要分享的

 

 

安装模块

切换到解压缩后setup.py所在目录下

python setup.py install

  

 

卸载,就在安装包的目录下,删除

hk_learn文件夹和hk_learn-1.0-py3.6.egg-info文件 即可

 

 

 

eval函数,将字符串当成有效表达式,并求值,返回得到的结果

(最简单的计算器)

input_str = input("请输入算术题:")

print(eval(input_str))

  

 

    

 

    

posted @ 2020-07-04 10:42  水墨黑  阅读(206)  评论(0编辑  收藏  举报