ascii()
函数类似 repr()
函数, 返回一个表示对象的字符串, 但是对于字符串中的非 ASCII 字符则返回通过 repr()
函数使用 \x, \u 或 \U 编码的字符
举例如下:
1 | >>> ascii('你好hello') |
ascii()
函数类似 repr()
函数, 返回一个表示对象的字符串, 但是对于字符串中的非 ASCII 字符则返回通过 repr()
函数使用 \x, \u 或 \U 编码的字符
举例如下:
1 | >>> ascii('你好hello') |
any与all作用比较像,区别在于只要有一个为true,则返回True
1 | >>> any([0, '', False]) |
all判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False
等价于:
1 | def all(iterable): |
实例:
1 | all(['a', 'b', 'c', 'd']) |
接下来我们将针对python的内置函数进行逐一说明,本文将介绍abs()
– 返回数字的绝对值
1 | abs(-10) |
请注意:如果参数是一个复数,则返回它的大小
1 | >>> abs(complex(-10, 1)) |
使用python来加载or输出json对象属于很方便的操作了,因为官方库中直接集成了对应的操作库,之前说过一篇《Python之json无法序列化部分类型数据问题解决方案》,这里介绍一下另外的一些用法,如何输出格式化的json字符串
json字符串目前可以算是前后端的主流交互格式了,在python中,原生支持json的序列化和反序列化,使用起来比较简单
1 | import json |
在创建要给表的时候遇到一个有意思的问题,提示Specified key was too long; max key length is 767 bytes
,从描述上来看,是Key太长,超过了指定的 767字节限制
docker要求使用root权限进行启动,但是启动之后,普通的账号会发现没有访问docker的权限,然而每次都使用root进行访问过于麻烦,那么有办法让普通账号也能正常访问么?
os.chown() 方法用于更改文件所有者,如果不修改可以设置为 -1, 你需要超级用户权限来执行权限修改操作
1 | os.chown(path, uid, gid); |
参数:
os提供了chmod
来修改文件权限,基本上和shell命令操作差不多了
1 | os.chmod(path, mod) |
flags – 可用以下选项按位或操作生成, 目录的读权限表示可以获取目录里文件名列表, ,执行权限表示可以把工作目录切换到此目录 ,删除添加目录里的文件必须同时有写和执行权限 ,文件权限以用户id->组id->其它顺序检验,最先匹配的允许或禁止权限被应用。
在linux系统中,文件的越权访问相对常见,比如普通用户无法访问root用户文件,在python中,可以借助os.access()
来判断
1 | os.access(path, mode); |
在用python调用shell脚本时,可以用到功能当前工作目录
1 | os.chdir(path) |
实例如下
1 | >>> import os |
上一篇介绍了shutil
实现文件移动的功能,接下来介绍使用它来实现目录压缩
一个简单的实例case,将/tmp/test
目录打包压缩为out.zip
1 | import shutil |
在shell里面,直接使用mv
命令实现目录文件的移动,那么python中可以怎么做呢?
1 | import shutil |
当我们写入数据到一个文件时,假设这个文件所在的某个目录不存在,那么会抛异常,所以我们就需要在目录不存在时创建目录,这个场景比较常见,可以直接借助os来实现
1 | import os |
如何遍历一个目录下的所有文件?
1 | import os |
如何将内容保存到文件中?
借助with
语句可以简单的实现
1 | with open('demo.txt', 'w+') as f: |
请注意,上面的write表示一次写入,如果你希望一次写入多个数据,可以使用 writeline
1 | with open('demo.txt', 'w+') as f: |
文件按行读取的两种方式
case1:
1 | for line in iopen('demo.txt', 'r+'): |
case2:
1 | with open('demo.txt', 'r+') as f: |
记录下在python中获取文件大小的使用方法
1 | import os |
输出文件的字节数,单位为B,int型
Update your browser to view this website correctly. Update my browser now