不定期更新中ing......
数字1转换成字符0001
- 代码
i = 1 k = str(i) other_url = k.zfill(4)
- 输出:
0001
切片
- 在Python里,像列表(list)、元组(tuple)、和字符串(str)这类序列类型都支持切片操作
为什么切片和区间都会自动忽略最后一个元素?
-
- 当只有最优一个位置信息时,可以快速的看出切片和区间里有几个元素
- 例:
range(3)
和my_list[:3]
返回3个元素
- 例:
- 当只有最优一个位置信息时,可以快速的看出切片和区间里有几个元素
-
- 当起止位置信息都可见时,我们可以快速的计算出切片和区间的长度,用最后一个数减去第一个下标即可。
-
- 可以让我们利用任意一个下标来把序列分割成不重叠的两部分,只要写成
my_list[:x]
和my_list[x:]
就可以了- 例:
list=[10,20,30,40,50,60] list[:2] #在下标2的地方分割 #[10,20] list[2:] #[30,40,50,60] list[:3] #在下标3的地方分割 #[10,20,30] list[3:] #[40,50,60]
- 可以让我们利用任意一个下标来把序列分割成不重叠的两部分,只要写成
对对象进行切片
- 我们可以用
s[a:b:c]
的形式对s在a和b之间以c为间隔取值,c的值可以为负,负值意味着反向取值- 例:
s='bicycle' s[::3] #'bye' s[::-1] #elcycib s[::-2] #eccb
- 例:
给切片赋值
-
如果把切片放在赋值语句的左边,或把它作为del操作的对象,我们就可以对序列进行嫁接、切除或就地修改操作
-
例:
l=list(range(10)) print l #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] l[2:5]=[20,30] print l #[0, 1, 20, 30, 5, 6, 7, 8, 9] del l[5:7] print l #[0, 1, 20, 30, 5, 8, 9] l[3::2]=[11,22] print l #[0, 1, 20, 11, 5, 22, 9]
-
注意:
如果赋值的对象是一个切片,那么赋值语句的右侧必须是个可迭代对象。几篇只有单独的一个值,也要把它转换成可迭代的序列l=[0, 1, 20, 11, 5, 22, 9] l[2:5]=[100] #★☆☆☆★ print l #[0, 1, 100, 22, 9]
-
文件读写
- 'r':读
- 'w':写
- 'a':追加
- 'r+' == r+w(可读可写,文件若不存在就报错(IOError))
- 'w+' == w+r(可读可写,文件若不存在就创建)
- 'a+' ==a+r(可追加可写,文件若不存在就创建)
txt文件
- 读取
python文件对象提供了三个“读”方法: read()、readline() 和 readlines()。每种方法可以接受一个变量以限制每次读取的数据量。- read() 每次读取整个文件,它通常用于将文件内容放到一个字符串变量中。如果文件大于可用内存,为了保险起见,可以反复调用read(size)方法,每次最多读取size个字节的内容。
- readlines() 之间的差异是后者一次读取整个文件,象 .read() 一样。.readlines() 自动将文件内容分析成一个行的列表,该列表可以由 Python 的 for ... in ... 结构进行处理。
- readline() 每次只读取一行,通常比readlines() 慢得多。仅当没有足够内存可以一次读取整个文件时,才应该使用 readline()。
注意:这三种方法是把每行末尾的'\n'也读进来了,它并不会默认的把'\n'去掉,需要我们手动去掉。
with open('D:/test.txt', 'r') as f:
print(f.read())
-
写入
python文件对象提供了两个“写”方法: write() 和 writelines()。- write()方法和read()、readline()方法对应,是将字符串写入到文件中。
- writelines()方法和readlines()方法对应,也是针对列表的操作。它接收一个字符串列表作为参数,将他们写入到文件中,换行符不会自动的加入,因此,需要显式的加入换行符。
with open('test.txt', 'w') as f:
f.write('Hello, world!')
json
-
读取
test_dict = {'Michael': 95, 'Bob': 75, 'Tracy': 85} #dumps 将数据转换成字符串 with open("G:/aaa/record.json","w") as f: json.dump(test_dict,f,indent=4)
-
写入
#把文件打开,并把字符串变换为数据类型 with open("G:/aaa/record.json",'r') as load_f: load_dict = json.load(load_f) print load_dict['Michael']
读写
#推荐使用,不会产生文件占用
with open('D:/test.txt', 'r') as f:
print(f.read())
with open('D:/test.txt', 'w') as f:
f.write('Hello, world!')
获取路径下所有文件名
import os
path=r'U:\XYJ\Production\Sourceimages\Prop'
filelist=os.listdir(path)
读取注册表
#本代码为读取库文档路径
import _winreg
key = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER,r"Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders")
type = _winreg.QueryValueEx(key, "Personal")
命令行传参
-
创建一个文件 demo.py
from sys import argv print(argv[0]) print(argv[1]) print(argv[2]) print(type(argv[1]))
-
在CMD中执行命令:
python demo.py 1024 2048
-
运行结果为:
demo.py 1024 2048
可以发现传的参数为str类型