• 2019.3-2019.9.6日的笔记


    Ls

    Ls –a

    Ls –h

    Ls –alh

    Cd

    Tree  #树形结构查看当前目录

    Man help

    Clear

    Rm

    Touch

    Madit

    Ls > xxx.txt

    Ls >>xxx.txt

    Cat

    Gedit

    More

    Ls –alh bin/ | more

    相对路径

    绝对路径

    Cd ./

    Cd ../..

    Cd /home/

    Cd –

    Cd ~

     

    Ctrl+c #终止命令

    Rm#删除文件

    Rm *.txt  #删除当前路径全部txt文件

    Rm -r   #强制删除

    Mkdir A/B/C/D/E –P   #创建文件A里面的B的C的E

    Rmdir #命令可以从一个目录中删除一个或多个空的子目录

    Mv原文件名 新文件名 #修改文件后缀名

    Mv #真正功能是移动文件,还有剪切粘贴功能

    Ln –s 原文件 新文件 #称为软连接文件,相当于windows创建快捷文件,

    Ln 原文件 新文件    #称为软连接文件,相当于windows创建快捷文件

    Cat 1.txt 2.txt > xxx.txt #把1.txt 2.txt 文件内容重定向合拼在xxx.txt文件夹里

    Gedit 编辑查看内容

    Grep “ntfs” xxx.txt  #在xxx.txt文件里搜索查找文件内容包含“ntfs”

    Grep “^ntfs” xxx.txt  #在xxx.txt文件里搜索查找文件内容包含以“ntfs”开头的文件

    Grep “ntfs$” xxx.txt  #在xxx.txt文件里搜索查找文件内容包含以“ntfs”结尾的文件

    Grep  -n“ntfs” xxx.txt  #在xxx.txt文件里搜索查找文件内容包含“ntfs”在哪一行

    Grep  -v“ntfs” xxx.txt  #在xxx.txt文件里搜索查找文件内容不包含“ntfs”

    Cp #某文件复制粘贴到某个文件夹里

    Cp  A  B/  -r  #强制把A文件复制粘贴到B文件夹里

    Find  #从指定路径找文件

    Find / -name “test.sh”#从指定路径找文件“test.sh”

    Find /tmp –size -2M  #查找在/tmp 目录次啊等于2M的文件;+2M是大于,-2M是小于

    Find --help #find命令功能,任何指令都可以用

    Sudo #权限不够的情况下使用

    压缩解压缩命令:

    Tar  –cvf  xxx.tar  *.py #把所有带.py的文件打包到xxx.tar 文件

    Tar  –zcvf  xxx.tar.gz  *.py  #把所有带.py的文件打包并且压缩到xxx.tar.gz 文件

    Tar  –zxvf  xxx.tar.gz  #把打包并且压缩的文件包xxx.tar.gz 解压

    Tar  -jcvf  yyy.tar.bz2  *.py #把所有带.py的文件打包并且压缩到yyy.tar.bz2 文件

    Tar  –jxvf  yyy.tar.bz2  #把打包并且压缩的文件包yyy.tar.bz2 解压

    Zip  zzz.zip  *py  #把所有带.py的文件打包并且压缩到zzz.zip 文件

    Unzip zzz.zip *py

     

    Which  ls #查看ls命令原来是在哪个路径的文件,比如说ls命令针对的是bin/目录下的命令

    Cd  /bin/  #查看bin文件夹下的命令

    系统管理命令

    Cal  #当前日历时间

    Cal –y 2018   #2018年日历

    Date “+%Y年%m月%d日” #当前年月日格式

    Ps  #任务管理器

    Ps –aux  #查看当前运行情况

    Top  #查看当前运行情况

    htop  #查看当前运行情况,这个更牛

    kill  #关闭运行程序

    kill  -9  ID号    #强制关闭ID号的运行程序

    reboot  #重启电脑

    shutdown  –h  now #立刻关机

    shutdown  –h  20:20   # 20:20立刻关机

    shutdown  –h  +10   # 2系统十分钟自动关机

    init 0 #关机

    init 6 #重启

    df #硬盘使用情况

    df –h  #硬盘使用情况

    du –h  #当前路径使用情况

    ifconfig  #查看当前网络信息  IP地址信息

    ping  #测试远程主机连通性

    用户权限管理命令

    Useradd  python   #添加python账户

    Su  #切换账户

    Passwd  #设置密码

    Whoami #查看当前账户

    Exit  #退出当前用户,返回原来用户

    Ssh  python@172.16.7.139   #ssh+用户名+@+id地址 远程登录电脑

    Ctrl+shift+T   #建立新窗口,多用户操作

    Cat /etc/passwd  #查看创建的账目

    Sudo  useradd  gebilaowang  –m   #是创建用户gebilaowang  -m是顺便创建这个家目录

    Who  #查看当前所有登录用户

    Rm / -rf   #从根目录删,严禁使用

    Sudo  userdel  gebilaowang   #把gebilaowang账号用户删了

    Su – xxxx  #切换到xxxx用户,-是同时切换到账户目录里面

    Sudo –s  #切换到root超级管理员用户

    Cat /etc/group  #查看组

    Groupmod +几次tab键  #查看组

    Sudo  groupadd  YYY  #创建YYY组

    为创建的普通用户添加sudo权限

    新创建的用户,默认不能sudo,需要进行一下操作

    Sudo usermod –a –G sudo 用户名

    Sudo usermod –a –G adm 用户名

    Chowm #修改文件所有者

    Chgrp #修改文件所属组

    Chmod  u=rwx  文件名  #修改权限拥有者rwx可读可写可执行

    Chmod  g=rwx  文件名  #修改权限同组者rwx可读可写可执行

    Chmod  o=rwx  文件名  #修改权限其他人rwx可读可写可执行

    R=4

    W=2

    x=1

    Chmod  137  文件名  # x=1可执行 wx=3可写可执行 rwx=7可读可写可执行

    Vim命令

    Vim 4.py

    编辑(插入)模式

    命令模式

    末行模式

                                                                                                 i

                  一个冒号:

                                               esc                   esc

                                 O(大写字母)

    8

     

                         i                               a

    大写I行首                                                                         A行尾

     

                                                              

    O(小写o)

    Vi命令

    命令模式:

    Yy 复制光标所在行

    4yy 复制光标所在开始向下的4行

    P 粘贴

    dd 剪切光标所在行

    2dd 剪切光标所在行向下2行

    D从当前的光标开始剪切,一直到行尾

    D0从当前的光标开始剪切,一直到行首

    Dw删一个单词

    X删除当前光标前面的哪个,每次只会删一个

    x删除当前光标后面的哪个,每次只会删一个

    h左  j下  k上  l右

    H当前屏幕的上方

    M当前屏幕的中间

    L当前屏幕的下方

    Ctrl+f-----à向下翻一页代码

    Ctrl+b-----à向上翻一页代码

    20G快速的定位到20行

    G快速的回到整个代码的最后一行

                                     gg快速的回到整个代码的第一行

                         w向后跳一个单词的长度,即跳到下一个单词的开始处

      d向前跳一个单词的长度,即跳到前一个单词的开始处

    u撤销

    Ctrl+r 反撤销

    选中一片代码

    v:

    V

    >>向右移动代码

    <<向左移动代码

    .重复执行上一次的命令

    r替换一个字符

    R替换光标以及后面的字符

    替换命令

    把abc全部替换成123

    末行模式下,将当前文件中的所有abc替换成123

    :%s/abc/123/g

    末行模式下,将第1行至第10行之间的abc替换成123

    :1,10/abc/123/g

    Shift+zz相当于wq

    末行模式:

    W保存

    Q退出

    Wq保存并且退出

    Win+r  \id地址 #服务器上传下载

    07-python的交互模式,ipython

    Python3

    Exit() #退出

    Ipython3

    Exit  #退出

    :Set nu  #命令末行下输入命令显示行号

    #是单行注释

    ”””###””” #3个单引号或双引号是多行注释

    #coding=utf-8          #python2 打开不了的加

    #-*- coding:utf-8 -*-   #python2 打开不了的加

    Input #输入指令

    Print #输出指令

    Age=18

    Print(“%D”%age) #打印age里面的值18,数字用%d

    Name = “lishuide”

    Print(“%s”%name) #打印name里面的值李水德,数字用%s

    Python3版本中

    没有raw_input()函数,只有input()

    并且python3中的input与python2中的raw_input()功能一样

                  

    Ls

    Ls –a

    Ls –h

    Ls –alh

    Cd

    Tree  #树形结构查看当前目录

    Man help

    Clear

    Rm

    Touch

    Madit

    Ls > xxx.txt

    Ls >>xxx.txt

    Cat

    Gedit

    More

    Ls –alh bin/ | more

    相对路径

    绝对路径

    Cd ./

    Cd ../..

    Cd /home/

    Cd –

    Cd ~

     

    Ctrl+c #终止命令

    Rm#删除文件

    Rm *.txt  #删除当前路径全部txt文件

    Rm -r   #强制删除

    Mkdir A/B/C/D/E –P   #创建文件A里面的B的C的E

    Rmdir #命令可以从一个目录中删除一个或多个空的子目录

    Mv原文件名 新文件名 #修改文件后缀名

    Mv #真正功能是移动文件,还有剪切粘贴功能

    Ln –s 原文件 新文件 #称为软连接文件,相当于windows创建快捷文件,

    Ln 原文件 新文件    #称为软连接文件,相当于windows创建快捷文件

    Cat 1.txt 2.txt > xxx.txt #把1.txt 2.txt 文件内容重定向合拼在xxx.txt文件夹里

    Gedit 编辑查看内容

    Grep “ntfs” xxx.txt  #在xxx.txt文件里搜索查找文件内容包含“ntfs”

    Grep “^ntfs” xxx.txt  #在xxx.txt文件里搜索查找文件内容包含以“ntfs”开头的文件

    Grep “ntfs$” xxx.txt  #在xxx.txt文件里搜索查找文件内容包含以“ntfs”结尾的文件

    Grep  -n“ntfs” xxx.txt  #在xxx.txt文件里搜索查找文件内容包含“ntfs”在哪一行

    Grep  -v“ntfs” xxx.txt  #在xxx.txt文件里搜索查找文件内容不包含“ntfs”

    Cp #某文件复制粘贴到某个文件夹里

    Cp  A  B/  -r  #强制把A文件复制粘贴到B文件夹里

    Find  #从指定路径找文件

    Find / -name “test.sh”#从指定路径找文件“test.sh”

    Find /tmp –size -2M  #查找在/tmp 目录次啊等于2M的文件;+2M是大于,-2M是小于

    Find --help #find命令功能,任何指令都可以用

    Sudo #权限不够的情况下使用

    压缩解压缩命令:

    Tar  –cvf  xxx.tar  *.py #把所有带.py的文件打包到xxx.tar 文件

    Tar  –zcvf  xxx.tar.gz  *.py  #把所有带.py的文件打包并且压缩到xxx.tar.gz 文件

    Tar  –zxvf  xxx.tar.gz  #把打包并且压缩的文件包xxx.tar.gz 解压

    Tar  -jcvf  yyy.tar.bz2  *.py #把所有带.py的文件打包并且压缩到yyy.tar.bz2 文件

    Tar  –jxvf  yyy.tar.bz2  #把打包并且压缩的文件包yyy.tar.bz2 解压

    Zip  zzz.zip  *py  #把所有带.py的文件打包并且压缩到zzz.zip 文件

    Unzip zzz.zip *py

     

    Which  ls #查看ls命令原来是在哪个路径的文件,比如说ls命令针对的是bin/目录下的命令

    Cd  /bin/  #查看bin文件夹下的命令

    系统管理命令

    Cal  #当前日历时间

    Cal –y 2018   #2018年日历

    Date “+%Y年%m月%d日” #当前年月日格式

    Ps  #任务管理器

    Ps –aux  #查看当前运行情况

    Top  #查看当前运行情况

    htop  #查看当前运行情况,这个更牛

    kill  #关闭运行程序

    kill  -9  ID号    #强制关闭ID号的运行程序

    reboot  #重启电脑

    shutdown  –h  now #立刻关机

    shutdown  –h  20:20   # 20:20立刻关机

    shutdown  –h  +10   # 2系统十分钟自动关机

    init 0 #关机

    init 6 #重启

    df #硬盘使用情况

    df –h  #硬盘使用情况

    du –h  #当前路径使用情况

    ifconfig  #查看当前网络信息  IP地址信息

    ping  #测试远程主机连通性

    用户权限管理命令

    Useradd  python   #添加python账户

    Su  #切换账户

    Passwd  #设置密码

    Whoami #查看当前账户

    Exit  #退出当前用户,返回原来用户

    Ssh  python@172.16.7.139   #ssh+用户名+@+id地址 远程登录电脑

    Ctrl+shift+T   #建立新窗口,多用户操作

    Cat /etc/passwd  #查看创建的账目

    Sudo  useradd  gebilaowang  –m   #是创建用户gebilaowang  -m是顺便创建这个家目录

    Who  #查看当前所有登录用户

    Rm / -rf   #从根目录删,严禁使用

    Sudo  userdel  gebilaowang   #把gebilaowang账号用户删了

    Su – xxxx  #切换到xxxx用户,-是同时切换到账户目录里面

    Sudo –s  #切换到root超级管理员用户

    Cat /etc/group  #查看组

    Groupmod +几次tab键  #查看组

    Sudo  groupadd  YYY  #创建YYY组

    为创建的普通用户添加sudo权限

    新创建的用户,默认不能sudo,需要进行一下操作

    Sudo usermod –a –G sudo 用户名

    Sudo usermod –a –G adm 用户名

    Chowm #修改文件所有者

    Chgrp #修改文件所属组

    Chmod  u=rwx  文件名  #修改权限拥有者rwx可读可写可执行

    Chmod  g=rwx  文件名  #修改权限同组者rwx可读可写可执行

    Chmod  o=rwx  文件名  #修改权限其他人rwx可读可写可执行

    R=4

    W=2

    x=1

    Chmod  137  文件名  # x=1可执行 wx=3可写可执行 rwx=7可读可写可执行

    Vim命令

    Vim 4.py

    编辑(插入)模式

    命令模式

    末行模式

     

                                                                                                 i

                  一个冒号:

                                               esc                   esc

                                 O(大写字母)

    8

     

                         i                               a

    大写I行首                                                                         A行尾

     

                                                              

    O(小写o)

    Vi命令

    命令模式:

    Yy 复制光标所在行

    4yy 复制光标所在开始向下的4行

    P 粘贴

    dd 剪切光标所在行

    2dd 剪切光标所在行向下2行

    D从当前的光标开始剪切,一直到行尾

    D0从当前的光标开始剪切,一直到行首

    Dw删一个单词

    X删除当前光标前面的哪个,每次只会删一个

    x删除当前光标后面的哪个,每次只会删一个

    h左  j下  k上  l右

    H当前屏幕的上方

    M当前屏幕的中间

    L当前屏幕的下方

    Ctrl+f-----à向下翻一页代码

    Ctrl+b-----à向上翻一页代码

    20G快速的定位到20行

    G快速的回到整个代码的最后一行

                                     gg快速的回到整个代码的第一行

                         w向后跳一个单词的长度,即跳到下一个单词的开始处

      d向前跳一个单词的长度,即跳到前一个单词的开始处

    u撤销

    Ctrl+r 反撤销

    选中一片代码

    v:

    V

    >>向右移动代码

    <<向左移动代码

    .重复执行上一次的命令

    r替换一个字符

    R替换光标以及后面的字符

    替换命令

    把abc全部替换成123

    末行模式下,将当前文件中的所有abc替换成123

    :%s/abc/123/g

    末行模式下,将第1行至第10行之间的abc替换成123

    :1,10/abc/123/g

    Shift+zz相当于wq

    末行模式:

    W保存

    Q退出

    Wq保存并且退出

    Win+r  \id地址 #服务器上传下载

    07-python的交互模式,ipython

    Python3

    Exit() #退出

    Ipython3

    Exit  #退出

    :Set nu  #命令末行下输入命令显示行号

    #是单行注释

    ”””###””” #3个单引号或双引号是多行注释

    #coding=utf-8          #python2 打开不了的加

    #-*- coding:utf-8 -*-   #python2 打开不了的加

    Input #输入指令

    Print #输出指令

    Age=18

    Print(“%D”%age) #打印age里面的值18,数字用%d

    Name = “lishuide”

    Print(“%s”%name) #打印name里面的值lishuide,字符串用%s

    Python3版本中

    没有raw_input()函数,只有input()

    并且python3中的input与python2中的raw_input()功能一样

    If 用来完成判断

    If 条件:

              条件成立的时候,做的事情

    Else:

              条件不成立的时候做的事情

    If 用来完成判断

              条件成立做这件事情

    Elif 条件1:

              条件成立做条件1事情

    Elif 条件2:

              条件成立做条件2事情

    Elif 条件3:

              条件成立做条件3事情

    ………

    Else:

              前面条件不成立做这件事情

    Type() #查看类型

    Int() #把字符串转化成整形

     

    变量名一定要用英文:

    如:English_score = 100

     

    不允许用的变量名如下图:

     

    查看不能用的关键字作为变量名的方法:

    Ipython3

    Import keyword

    Keyword.kwlist

     

    运算符:

    + #加

    - #减

    * #乘

    / #除

    a//b  #取商数

    a%b  #取余数

    2**10  #2的10次方,幂

     

    一次输出多个变量:

    例如:

    Name = “李水德”

    Age = 20

    Addr = “广西”

    Print(“姓名是:%s,年龄是:%d,地址是:%s”%(name,age,addr))

     

     

     

    比较运算符

    >=  #大于等于

    <=  #小于等于

    ==  #等于

    !=  #不等于  python2里面不等于用<>

     

    逻辑运算符

    Or #或者

    And #并且

    Not #非,不在

     

     

    Vi 文件名 +指定行数  #跳到文件名指定行数编辑

     

     

    程序的3大执行流程

    1顺序执行

    2选择执行

    3循环执行

     

     

    While 循环

    While 条件:

    条件满足的时候执行的事情

     

    #打印1到100

    Num = 1

    While num<=100:

          Print(num)#print(“%d”%s)

          Num = num+1

     

    If嵌套

    If xxx:

       Print(“---1----”)

       If xxx2:

         Print(“----2----”)

     

     

     

    While嵌套:打印矩形,end=“”表示是不换行,print(“”)表示是换行

     

     

    复合赋值运算符:

     

     

    打印三角形:

     

     

    99乘法表: 是相当一个tab键,a是换行

     

     

    剪刀石头布游戏:

    电脑随机出一个数0到2: 

    Import random

    Random.randint(0,2)

     

    For循环:

    Name = “laowang”

    For temp in name:

        Print(temp)                          

     

    #打印1-100之间的偶数代码:

     

     

     

    #打印1-100之间的20个偶数,用到beak,beak结束整个while循环

     

     

    Continue #结束这一次的循环,转而执行下一次的循环(剩下的不执行,跳回while循环上继续执行)

     

    #While 嵌套中的break

     

     

    Len #测字符串里面的内容占多少内存的字节数

     

    #字符串的输入和输出

    Name = Input(“请输入姓名:”)

    Print(“姓名为:%s”%name)

     

    加法运算符,不但可以数字相加,还可以字符串相加

    字符串相加的方式同样可以

     

    取字符串的某个下标:[0]是取第一个,[1]0是取第二个,以此类推。[-1]是取倒数第一个

     

    取字符串的切片:

     

     

     

    取字符串的切片(逆序取):

     

     

    变量名.find(“lishuide”) #从变量名字符串里面左边找lishuide,找到显示下标,找不到显示-1

    变量名.rfind(“lishuide”) #从变量名字符串里面右边找lishuide,找到显示下标,找不到显示-1

    变量名.index(“lishuide”) #从变量名字符串里面左边找lishuide,找到显示下标,找不到显示错误

    变量名.find(“lishuide”) #从变量名字符串里面右边找lishuide,找到显示下标,找不到显示错误

    变量名.count(“lishuide”)#查找lishuide出现的个数

    变量名.replace(“lishuide”,“lijunpeng”,1)#替换lishuide成lijunpneg,替换个数1

     

    变量名.split(“ ”)#切割,遇到空格就切割成一个列表

     

    变量名.capitalize()#第一个字母大写

    变量名.title()#所有单词第一个字母大写

     

    变量名.endswith(“.txt”)#判断后缀名的格式.txt结尾

    变量名.startswith(“li”)#判断以li 开头

     

    变量名.lower(“”)#全部字母转为小写

    变量名.upper(“”)#全部字母转为大写

     

    变量名.center(50)#居中对齐,必须要填50个字符

    变量名.ljust(50)#靠左对齐

    变量名.rjust(50)#靠右对齐

     

    变量名.lstrip()#删除变量名左边格式

    变量名.rstrip()#删除变量名右边格式

    变量名.strip()#删除变量名左右两边格式

     

    列表是中括号[ ],元组是小括号()

     

    变量名.partition(“lishuide”) #以左边第一个出现lishuide为中间,分开两块,元组出现

    变量名.rpartition(“lishuide”) #以右边第一个出现lishuide为中间,分开两块,元组出现

     

    变量名.splitlines() #每个单词空格切割换行,以列表显示

     

     

     

    变量名.isalpha()#判断输入的是不是全是字母

    变量名.isdigit()#判断输入的是不是全是数字

    变量名.isalnum()#判断输入的是不是有字母又有数字

    变量名.isspace()#判断输入的是不是全是空格

     

     

    b.join(a)#把a列表里面的用b的空格分开组合起来,如下图

     

     

    题目:把空格和 去掉组合起来,再重新组合起来

     

    #定义一个列表,存储多个数据

     

     

    [ ]列表的增删改查:

    添加新的元素

    Append()

    Insert()

    Extend()

    变量名.append(“laoli”)  #增加laoli进去,从后面加

    变量名.insert(“位置,要增加的内容”)  #插入内容进去,想插哪插哪

     

    [ ]列表的删除:

    删除元素

    Pop()  #从最后一个删

    Remove(“内容”)  #删指定内容,从左边找到删,而且是只删一个

    Del 变量名[下标]   #根据下标来删除

     

    [ ]列表的修改:

    修改元素

    变量名[下标]  = “新元素”

     

    切片取列表

     

     

    [ ]列表的查看:

    查看元素

    In    # “内容”in 变量名,如果在返回true,如果不在返回false

    Not  in   # “内容”not in 变量名,如果不在返回true,如果在返回fals

     

    # if “内容” in 变量名:

    Print(“找到了。。。。”)

     

    布尔类型:要么是true要么是false

     

    二、vi解密处理

    按ESC键退出编辑,输入下面的命令

    :set key= 

     

     

    字典:

    变量名 = {键:值,键:值}

     

     

    列表里面放字典,然后取字典里面的键

     

     

    判断是否找到:

     

    字典的增删改查:

    变量名[“新的键key”] = 值value           #增加

    Del 变量名[“键key”]                     #删除

    变量名[已存在的键key] = 新的值new_value   #修改

    变量名.get[“键key”]                      #查询

     

    列表循环遍历的两种方法:

     

     

    列表添加append操作注意点

     

     

    字典的常见操作,遍历

    Len(变量名)  #查看词变量有多少个键值组

    变量名.Keys() #查看字典中所有的键 ,以列表显示出来    

    变量名.value() #查看字典中所有的值 ,以列表显示出来

    变量名.items() #查看字典中所有的键值组,

     

     

    元组() #只能查看,不能增删改

     

    函数,具有独立功能

    Def 函数名():

     

    多个函数调用

     

     

    4种函数的方法

    1, def 函数名():

       pass

    2, def 函数名():

          Return  xxx

    2, def 函数名(参数):

       pass

    4, def 函数名(参数):

          Return  xxx

     

    函数的嵌套调用

     

     

    函数嵌套调用应用,求输入的2个数值的平均值:

     

     

    全局变量和局部变量的区别:修改全局变量用global

     

     

    04-全局变量定义的位置:

     

     

    项目经理-美工-程序-测试-运维

     

     

     

    列表和字典当做全局变量:

     

     

    不可变类型:数字,字符串,元组

    可变类型:列表,字典

    可变类型不可以当做字典里面的键key

     

     

     

     

    递归:

    def getNums(num):

    If num>1:

       return num * getNums(num-1)

    else:

       retun num

    getNums(4)

     

    第一次

    Def getNums(num=4):

       Num * getNums(num-1)

       Return 4 * 3

     

    第二次

    Def getNums(num=3):

       Num * getNums(num-1)

       Return 3* 2

     

    第三次

    Def getNums(num=2):

       Num * getNums(num-1)

       Return 2 * 1

     

    第四次

    Def getNums(num=1):

       Num * getNums(num-1)

       Return 1

    结果是24

     

    函数的应用:

    变量名.sort()    #从小到大排序

    变量名.reverse()   #倒序

    变量名.sort(Key=lambda x:x[‘name’] )  #按字典的name键值排序

     

     

    匿名函数的扩展:

     

     

    Python是动态语言

    Eval  #去掉字符串的意思

     

     

     

    交换两个值

     

     

    Num+=num  不等价于 num=num+num

     

     

    打开文件的方式:f = open(“文件名”,“r”),r是只能读,rb这是加图片格式

    操作完要关闭:f.close()

     

     

    文件定位读写:变量名.seek(0,0)   #前面0是开头方向,后面0是大方向,0是开头,1是当前位置,2是结尾

    变量名.tell()  #当前是第几个字节

    批量重命名

     

     

    面向过程

    面向对象

    类就是模型,对象就是看得见摸的着的

     

    Def __init__  #初始化对象

    Def __str__  #

     

    Python对象的3要素:①封装(函数和全局变量找了个东西封在了一起,这哥们就成了对象)、②继承(子类继承父类功能)、③多态(定义的时候不确定调用哪个功能,而是等到真正调用的时候是调用子类还是父类的方法)

     

    类方法

    @classmethod

     

    静态方法

    @staticmethod

     

    类对象

    实力对象

     

    __new__ 方法负责创建

    __Init__ 方法负责初始化

     

    Log日志(黑客技能,来无影去无踪)

     

    Ipython3>>>Import os >>>Os.__file__   模块

     

    包 #包更好的管理程序

     

     

    Ipython3》import os》os.__file__   #Python解析器默认安装的路径

     

    Touch setup.py》vi setup.py》写一堆代码 from distutils.core import setup 换行setup(name=”dongGe”,version=”1.0”,description=”dongGe’s  module”,author=”dongGe”,py_modules=[“TestMsg.sendmsg”,”TestMsg.recvmsg”])》python3 setup.py build》python3 setup.py sdist

     

    Github.com

     

    Ping ip #ping 192.168.1.112

     

    windows查看ip地址  # ipconfig/all

     

    import sys>print(sys.argv)>name=sys.argv[1]>print(“欢迎%s的到来”%name)  #给程序传参数

    列表生成式if嵌套:

     

     

     

    关键词:打开ipython3,输入import keyword再输入keyword.kylist

     

    重新导入模块from imp import* 然后 reload(模块名)

    Copy.copy()

    copy.deepcopy()#深拷贝

     

    程序用十进制 ,计算机用二进制

     

     

    树莓派,arduino 可以用python程序写在这里跑出灯的效果,搞的人工智能,几十几百块钱

    迭代对象 、迭代器、 生成器

    生成器就是可迭代对象

     

    调试

    Python –m pdb 文件

    L----list显示当前的代码

    N----next 向下执行一行代码

    c----continue继续执行代码

    b----break 添加断点

    clear-----删除断点cl

    p----print 打印一个变量的值

    s----step 进入到一个函数

    a-----args 打印所有的形参数据

    q---quit退出调试

    r----return 快速执行到函数的最后一行

     

    跨平台代码  from  multiprocessing  import  Process

     

     

     导入多进程模块  from multiprocessing import Pool

    使用多進程的方式copy 原文件夾中的所有文件到新的文件夾中

    pool = Pool(5)

    pool.apply_async(xxxxx)

     

    ps –aux  #查看当前运行进程

    kill pid #关闭当前进程

     

     

    搞黑客必须懂的tcp/IP协议(族),规范网络中电脑转输数据怎么传

     

    什么是端口?端口就是用来区分进程的

    Pid是用在一台电脑区分的,多台就不可以了

    进程端口号0-65535(2的16次方)

    知名端口:0-1023

    80端口(提供网站)

    21 端口(提供FTP文件下载)

    22端口(登录对方的)  ssh  name@ip

    呼死你,python可以做(网上有开源就可以做,填上对方号码)

     

    动态端口1024-65535

     

    怎么查看端口:用“netstat -an”

     

    IP地址  用来标记一台电脑的地址

    ABCDE类

    C类192.168.1.(指的是Ipv4)

    2的8次方,256台电脑,0和255不能用,实际上是1-154

     

     

     

     

    127.0.0.1~127.255.255.255用于回路测试

    ping 127.0.0.1用来测试当前电脑的网络通信协议好不好使,自检过程

     

    socket 套接字(插口)完成在多个电脑上之间进程间通讯方式

     

     

    Ifconfig #查看ubuntu的IP地址

    Ipconfig #查看windows电脑的ip地址

     

    Ping +IP地址

     

     

    给飞秋发信息:#

    版本号:包编号:发送者姓名:发送者机器名:命令字:附加信息 举例

    1:1238605487:user:machine:32:hell

    UDP协议  #理解为写信

    TCP协议  #理解为打电话

     

     

    编码    udpSocket.sendto(sendData.encode(“utf-8”))

    recvData = xxx.recvfrom(1024)

    recvData[0].decode(“gb2312”)

    网络通讯大体过程如下图:

     

     

    Ip.dst == 192.168.119.123  #抓包数据 查找对方IP

    udp.port == 2425

     

    for炸弹代码

    import os

    os.fork()

    os.fork()

    while True:                                        

                                                               os.fork()

    print("---1---")

     

     

     

     

    Arp –a  ——————》  Arp –d  ————》  Arp –a

     

     

    DNS协议  #解析域名的协议

     

     

     

    面试被问的问题

    3次握手4次挥手

    Tcp长链接和短链接

     

     

     

     

     

     

     

     

    TCP的十种状态

     

     

    Linux的天下是服务器,搞web网站

    Windows的天下是桌面

     

    第一种:

    Ddos拒绝服务器攻击  tcp半链接攻击  syn洪水攻击

     

     

    第二种:

    Dns攻击 udp攻击 因为udp不稳定

    劫持了bob的地址

    涉及到金钱的网站先用假的密码登录,如果假的密码都能进这网站肯定是假的

    就是当用户访问域名时候把假的ip告诉对方,访问了钓鱼网站

     

    第三种:

    Nslookup  baidu.com   # Nslookup +域名 查看网站对应的ip地址

    Arp攻击 

     

     

    Arp 255  #获取所有局域网的聊天

    #python使用 原始套接字

     

     

     

     

     

     

     

     

     

     

    共有ip才能上网(在百度输入屁的地址)    私有ip 192.168.1.x

    路由器NAT网络地址转化器

     

     

    Ifconfig | grep 192

     

    前端必学的三门课

    HTML  index.html    超文本标记语言

    CSS  index.css   页面样式

    JavaScript  前端脚本语言,动态类型、弱类型

     

    HTTP协议:超文本转输协议

     

    状态码404    200   等

    批量注释:
    使用下面命令在指定的行首添加注释:
    :起始行号,结束行号s/^/注释符/g

    取消注释:
    :起始行号,结束行号s/^注释符//g

     

  • 相关阅读:
    智能交通监控
    YOLOV4知识点分析(二)
    YOLOV4知识点分析(一)
    错误日志写入到本地磁盘(lock 队列)
    $.each(data, function (index, value) { })的用法;json和list<>的互相转换
    ArraySegment 的使用 【转载】
    Ajax往后台传参数,无参数,一个参数,多个参数,一个对象等
    在gridview里查找模板里的button控件
    数据可视化之PowerQuery篇(十六)使用Power BI进行流失客户分析
    数据可视化之PowerQuery篇(十五)如何使用Power BI计算新客户数量?
  • 原文地址:https://www.cnblogs.com/lishuide/p/11483441.html
Copyright © 2020-2023  润新知