文件&目录操作
文件创建、删除touch:创建文件123# 文件不存在,则创建空白文件# 文件已存在,则修改文件的末次修改时间touch [文件名]
mkdir:创建文件夹1234# 新建的目录名称必须不能够与当前目录中已有的目录、文件同名-p:可递归创建文件夹mkdir 文件夹名mkdir -p [嵌套目录]
rm:删除文件、目录12345# rm删除文件后无法恢复,因此需要小心-f:强制删除,忽略不存在的文件,并且不显示提示-r:递归删除目录下的内容,删除文件夹时必须使用此参数 rm [文件名]rm -r [文件夹名]
拷贝、移动tree:以树状图列出文件结构12tree [目录名]-d:只显示目录
cp:将文件、目录复制到另一个路径下1234cp [源文件] [目标文件]-f:若目标文件已存在,则直接复制,不提示-i:覆盖文件时提示-r:若给出的源文件是目录文件,则cp将递归复制该目录下所有子目录、文件,目标文件必须为一个目录名
mv:用于移动文件、目录12# -i:覆盖文件前的提示mv [源文件] [目标文件]
查看文件内容cat:查看文件内容、创建文件、文件合并、追加文件内 ...
文件读写知识
文件操作知识点文件指针12# 文件指针是一个标记(标记从哪个位置读取数据),第一次打开文件,指针位于文件起始位置;# 执行read()方法后,文件指针移动到文件末尾,此时再执行read()方法就读取不到任何内容了
os模块备注:以下文件、目录均支持相对路径、绝对路径
方法
说明
os.rename(源文件名, 目标文件名)
重命名文件
os.remove(文件名)
删除文件
os.listdir(目录名)
目录列表
os.mkdir(目录名)
创建目录
os.rmdir(目录名)
删除目录
os.getcwd()
获取当前目录
os.chdir(目标目录)
修改工作目录
os.path.isdir(文件路径)
判断是否是文件
os.system(系统命令)
执行shell命令
文件编码备注:在python2中,文件采用Ascii码,不支持中文,此时需要在文件中进行标识
12345方法1:# *-* coding:utf8 *-*方法2: # coding=utf8# 同时在定义中文字符串变量时,全面加uusername = u" ...
Python方法的解析顺序
方法的解析顺序表知识点背景
调用父类方法的几种方式
继承的父类名.方法(self, 参数)
super().方法(参数)
super(继承的父类名, self).方法(参数)
父类名.方法(self, 参数)12345678910class Parent(Object): def __init__(self, age, name): passclass Son1(Parent): def __init__(self, age, name): Parent.__init__(self, age, name) pass
缺点:这种方式对于多继承可能会产生多次调用爷爷级别的继承类
super().方法(参数)12345678910class Parent(Object): def __init__(self, age, name): passclass Son1(Parent): def __init__(self, age, name): super()._ ...
正则表达式
正则表达式知识点匹配单个字符
字符
功能
.
匹配任意一个字符,除了\n
[]
匹配括号中列举的字符,如:[abc]、[a-z]
\d
匹配数字0-9
\D
匹配非数字的部分
\s
匹配空白字符,即空格、tab
\S
匹配非空白字符
\w
匹配单词字符,即a-z、A-Z、0-9、中文字符
\W
匹配非单词字符
注意点:
点号(.)本身是不支持检测换行符的,但是可以通过追加re.S参数来实现支持匹配换行,如下:
123import rere.match(r'.+', "shuai\nqi\n", re.S)
匹配多个字符
字符
功能
*
匹配前一个字符0次或者无限次,即可有可无
+
匹配前一个字符1次或者无限次,即至少有一次
?
匹配前一个字符0次或者1次,即要么有一次,要么0次
{m}
匹配前一个字符出现m次
{m,n}
匹配一个字符出现m到n次
匹配开头结尾
字符
功能
^
匹配字符串开头
$
匹配字符串结尾
匹配分组
字符
功能
|
匹配左右 ...
注释和函数
注释和算数知识点单行注释:以# 开头12# 为确保程序可读性,#和注释的内容之间需要添加一个空格# 注释的内容与代码在同一行的时候,为了保持可读性,需将代码与注释之间至少两个空格
多行注释:1以三个引号包裹(单引号、双引号都可以)
算数Tip:赋值运算符 = 算数运算符+=
符号
作用
+
算数+
-
算数-
*
算数乘运算
/
算数除运算
//
算数求商运算
%
算数求余数运算
**
算数求乘方运算
Tip:* 运算同样适用于字符串
作业
(问答)单行注释的注意点(两处)
(问答)多行注释的注意点
利用ipython,求10除以20的运算结果
利用ipython,求10除以3的商
利用ipython,求10除以3的余数
利用ipython,求2的8次方的结果
利用ipython,打印出18个”sorry”
深浅拷贝
深、浅拷贝知识点概念
引用
在复制一个变量时,只复制它的引用方式,而没有重新开辟空间来存放它引用的数据,当被复制变量发生变化时,新的变量数据也会同时发生变化。
123a = [1,2]b = aa.append(3) # a变则b变
浅拷贝:
在拷贝一个变量时,重新开辟空间来存放它内部数据的引用方式,当内部引用的数据发生变化时,拷贝后的对象同时发生变化。通过copy中的copy方式复制变量:a=copy.copy(b)
1234567891011a = [1,2]b = [3,4]c = [a,b]d = copy.copy(c)a.append(3) # 拷贝地址的内容发生变化,则d发生变化c.append((1,2)) # 拷贝的对象发生变化,d不变e = c[:] # 利用切片达到的结果等同于e = copy.copy(c)# 字典中也有个方法copypersonal = dict(name = "wuxiang", age=27)copy_data = personal.copy() # 此处的copy也是浅拷贝
深拷贝:
在拷贝一个变量时,重 ...
权限管理
用户权限知识点用户管理123# 用户管理:包括用户、组管理,# 权限管理:指定每一个用户针对不同的文件/目录的权限# 权限包括:r、w、x
组管理1# 预先对组设置号权限,然后将不同的用户添加到对应的组中,从而不用依次为每一个用户设置权限
ls -l拓展
以data文件夹为例,从左到右依次为
1234567drwxrwxr-x:表示用户对该文件夹的权限,d表示文件夹,第一个rwx表示文件夹拥有者所拥有的权限,第二个rwx表示用户所属于的组对文件夹的权限,第三个r-x表示其它用户对该文件夹的权限2:表示该文件夹的硬链接数,也就是访问该文件夹的方式的数目,文件的硬链接数一般为1,文件夹的硬连接数取决于文件夹中所包含的子目录数wuxinag:文件的拥有者wuxiang:文件拥有者所属于的组4096:表示文件的大小Jun 14 10:23:表示文件的修改时间data:文件的用户名,可执行文件为绿色,目录为蓝色,普通文件为白色
超级用户12# root用户常用于系统的维护和部署,对操作系统的所有资源具有访问权限# linux系统常用标准用户操作系统
命令chmod作用:修改用户、组对文件 ...
用户管理
用户管理用户管理注意:创建用户/删除用户/修改其它用户密码的终端命令都需要通过sudo执行
useradd:添加新用户1234# -m:自动创建用户家目录# -g:指定用户所属的组,否则会建立一个与用户名同名的组# 若忘记使用-m选项添加用户家目录,最快的方式是删除该用户,然后重新创建sudo useradd -g 组名 -m 新用户名
passwd:设置用户名密码123456# 用户信息保存在/etc/passwd文件中cat /etc/passwd | grep [用户名]# 修改其它用户sudo passwd [用户名]# 修改自己的密码passed
userdel:删除用户12# -r:会自动删除用户的家目录sudo userdel -r [用户名]
查看用户信息id:查看用户的UID和GID信息123# uid:表示用户代号,存放在/etc/passwd文件中# gid:表示用户所属的主组代号,存放在/etc/group文件中id [用户名]
passwd:文件中信息用:进行分割(共7个信息),从左到右信息依次如下:
1234567wuxiang:表示的是登录的用户 ...