跟牛牛老师学习python自动化的第五天

  隔了个端午加周末也就是三个礼拜大概20天吧终于迎来了我们的第五次课,虽然已经去了四次,我还是关荣的出了电梯转错方向了,然后中午和亲耐的三个同学们(阳哥、福利姐、芬芬同志)一起去吃了。

还要感谢贝勒帮我解决安装模块始终装不上的问题,我在下面写一下解决办法吧:

pip install pymysql报错如下:

安装正确如下图:

解决方法:https://blog.csdn.net/SAJIAHAN/article/details/78309561

Pip 国内源的使用

 我是用的2里面的b修改好了,步骤如下:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

关于这一块我把牛牛老师写的笔记贴过来:

  模  块


#一个python文件就是一个模块

#1、标准模块
python自带的模块就是标准模块,也就是可以直接import进来的就是标准模块
import json
import random
import datetime
import time
import os
#2、第三方模块
别人写好的模块,你安装完之后就能用
pip源

# 1、
pip install pymysql
#1、pip命令不存在的,把python安装目录下的scrips加入环境变量
python2 -m pip install xxxx
python3 -m pip install xxxx
2、手动安装
.whl
1、先从python官网上下载安装文件
2、pip install c://xxx/xxxx/xxx.whl
.tar.gz
1、先从python官网上下载安装文件
2、解压
3、在命令行里面进入到解压之后的文件夹中
4、python setup.py install

#3、自己写的python文件

一般上课一天的最后一个小时我都是神游的,所以决定先看最后一个没听课的视频:

日期相关的

 1 import time
 2 
 3 #1.时间戳转时间
 4 def timestampToStr(timestamp=None,format='%Y-%m-%d %H:%M:%S'):
 5     if timestamp:
 6         time_tuple = time.localtime(timestamp)  # 转成时间元组
 7         return time.strftime(format,time_tuple)
 8     return time.strftime(format)
 9 # res = timestampToStr(2234123120,'%Y%m%d')
10 # print(res)
11 # print(timestampToStr())
12 
13 #2.格式好的时间,转时间戳
14 
15 def strToTimestamp(format_time=None,format='%Y%m%d%H%M%S'):
16     if format_time:
17         time_tuple = time.strptime(format_time, format)
18         return int(time.mktime(time_tuple))
19     return int(time.time())
20 a=strToTimestamp()
21 print(a)

python内置的一些函数

print
input
int
dict
set
list
str
len
open
tuple
type
max #取最大值的
dir #看这个对象里面有哪些方法
sorted #排序
print(chr(97))#打印数字对应的ascii
print(ord('b'))#打印字符串对应的ascii码
round() #保留几位小数
eval #python执行代码
exec #执行python代码
enumerate 枚举
zip

 1 import os
 2 # print(os.getcwd())#取当前的路径
 3 # os.mkdir('作业')
 4 # os.mkdir('e:\\zjr123')
 5 # os.mkdir('c\\a')#父目录不存在会报错
 6 # os.makedirs('b\\a')#父目录不存在的时候不会报错
 7 
 8 # print(os.listdir('.'))#当前目录下有哪些东西,获取某个目录下的所有文件
 9 
10 # for i in range(10):
11 #     os.mkdir('e:\\zjr123\\test%s'%i)
12 
13 # os.rmdir('stu')#删除空文件夹
14 #
15 # a=os.listdir('e:\\zjr123')
16 # print(a)
17 # for dir in a:
18 #     # print(dir[-1])
19 #     if int(dir[-1])%2 == 0:
20 #         abs_path = r'e:\\zjr123\\%s\a.txt'%dir
21 #         print(abs_path)
22 #         with open(abs_path,'w',encoding='utf-8') as fw:
23 #             fw.write('zjirjn')
24 
25 # print(os.path.join('zjr123','test0','b.txt'))#拼接路径,它会自动识别路径分割符
26 # print(os.sep)#当前系统的路径分隔符
27 # print(os.path.dirname('e:\\zjr123\\test0\\a.txt'))#获取父目录的路径
28 # print(os.path.getsize('e:\\zjr123\\test0\\a.txt'))#获取文件大小的,可以用来判断空文件
29 # print(os.path.exists('e:\\zjr123\\test0'))#判断文件夹是否存在 True or False
30 # print(os.path.isfile('e:\\zjr123\\test0\\a.txt'))#判断是否是文件,如果文件不存在报False
31 
32 # print(os.path.split('e:\\zjr123\\test0\\a.txt'))#分割文件路径和文件名

 字符串格式化 %s 和 format

 1 import datetime
 2 #字符串格式化 %s 和 format
 3 msg = '欢迎{name},今天是{today}'
 4 msg = msg.format(name='zjr',today=datetime.datetime.today())
 5 print(msg)
 6 
 7 sql='insert into {} VALUE {}'.format('adb','qq')#大括号可以为空,跟%s差不多
 8 
 9 print(sql)
10 
11 #format_map 后面传一个字典
12 d={'name':'zjr','sex':''}
13 words = '名字:{name},性别:{sex}'.format_map(d)
14 print(words)

关于函数的一些补充:

 1 name = 'zjr'#尽量不使用全局变量,会占内存
 2 FILE_NAME='goods.json'#常量,不变动,用大写
 3 
 4 #局部变量
 5     #在函数里定义的变量都是局部变量,出了函数就不能用了
 6 #全局变量
 7     #在文件最上面定义的这个变量,就是全局变量
 8 
 9 def test():
10     global name#声明我要修改全局变量
11     name ='小白'
12     print(name)
13 test()
14 
15 d = {'name':'zjr'}
16 #字典和list,这种可变变量,不需要用global来声明,就直接可以修改
17 def my():
18     d['sex']=28
19     print(d)
20 my()
21 print(d)
22 
23 #可变参数 默认*args,可随便取名
24 def send_mail(*email):
25     print('email..',email)
26     # print('给xxx发邮件%s'%email)
27 send_mail('[email protected]')
28 send_mail('[email protected]','[email protected]')
29 send_mail()
30 #1.非必填
31 #2.没有限制参数个数
32 
33 def run(name,age=21,*args):
34     print('name..',name)
35     print('age..',age)
36     print('args..',*args)
37 run('zjr',45,'bj','lala')
38 
39 #返回多个值
40 def zjr():
41     name = '周继蓉'
42     sex = ''
43     age = 23
44     return name,sex,age
45 a,b,c=zjr()
46 # res = zjr() #return多个值放元组
47 print(a,b,c)
48 
49 def op_db(ip,port,db,passwd,sql):#多个参数,用了位置传参后不能再直接默认传参
50     pass
51 
52 #关键字参数
53 def m(name,**info):#**info,放到字典中,默认**kwargs
54     print(info)
55 # m(name='hhh',sex='boy',age=21)
56 # m('khh',a='boy',b=1)
57 # m()
58 # m(type='car',a=1,b=1)
59 
60 #递归,函数自己调用自己,递归最多循环999次
61 #1.用递归的话,必须有一个明确的结束条件
62 
63 count = 0
64 def add():
65     global count
66     count+=1
67     print('hhh',count)
68     add()
69 # add()
70 def my2():
71     num = input('输入一个数字:')
72     num = int(num)
73     if num%2 != 0:
74         print('请输入偶数!')
75         return my2()
76 # my2()
77 
78 # for i in range(1,34):#1到33,顾头不顾尾
79 #     print(i)
80 
81 import random
82 res = random.sample(range(1,34),6)
83 # print(res)
84 #列表推导式,列表生成式
85 res = [str(i).zfill(2) for i in res]
86 print(res)
87 res2 =[1,2,3,4]
88 res2 = [i+10 for i in res2]
89 print(res2)

猜你喜欢

转载自www.cnblogs.com/Mezhou/p/9260362.html