python第十一次课2018.4.24
#复习
#from datetime import datetime
# datetime time
#from datetime import datetime
#datetime.now()
#datetime.now().year
#datetime.now().month
#datetime.now().day
#datetime.now().hour
#datetime.now().minute
#datetime.now().second
#datetime.now.strftime("%Y-%m-%d") 2018-4-24
#strptime
#yestoday = datetime.now + timedelta(day=-1)
#yestoday.strftime("%Y-%m-%d") 表示昨天
#import commands
#cmd = "ls -lhtr"
#(status,ouput) = commands.getstatusoutput(cmd)
#if status == 0:
# pass
#subprocess.call(cmd)
import subprocess
result1 = subprocess.call("ipconfig")
result2 = subprocess.Popen("ipconfig")
print(result2)
import logging
logger = logging.debug("This is debug.")
logger = logging.info("This is info.")
logger = logging.warning("This is warning.")
logger = logging.error("This is error.")
logger = logging.critical("This is critical.")
import logging
logging.basicConfig(level=logging.DEBUG) #设置最低级别,打印出最低至最高
logger = logging.debug("This is debug.")
logger = logging.info("This is info.")
logger = logging.warning("This is warning.")
logger = logging.error("This is error.")
logger = logging.critical("This is critical.")
输出
DEBUG:root:This is debug.
INFO:root:This is info.
WARNING:root:This is warning.
ERROR:root:This is error.
CRITICAL:root:This is critical.
import logging
logging.basicConfig(level=logging.DEBUG)
logger = logging.getLogger(__name__)
def hello():
print("hello world")
def main():
logger.info("开始执行main函数")
print("##"*10)
hello()
logger.info("调用hello() 函数")
try:
a = 2/0
open("11123.py","r")
except Exception as e:
logger.error("除数不能为0")
finally:
logger.warning("文件没有正常关闭")
main()
import logging
logging.basicConfig(level=logging.DEBUG,format='%(asctime)s %(filename)s[(lineno)d] %(levelname)s %(message)s',datefmt='%Y/%m/%d %H:$M:%S',)
logger = logging.getLogger(__name__)
def hello():
print("hello world")
def main():
logger.info("开始执行main函数")
print("##"*10)
hello()
logger.info("调用hello() 函数")
try:
a = 2/0
open("11123.py","r")
except Exception as e:
logger.error("除数不能为0")
finally:
logger.warning("文件没有正常关闭")
main()
'''
os
'''
import os
print(os.name) #结果如果为nt 则为windows系统 结果是posix 则为unix系统
#os.system(cmd) 纯粹的执行系统命令,但是没有返回结果
#result = os.popen(cmd)
#result.read() 这样就可以对result进行控制了
if os.name == "nt":
cmd = "ipconfig"
elif os.name == "posix":
cmd == "ifconfig"
os.system(cmd)
import os
#print(os.listdir()) #列出文件 ls
#os.chdir() #改变目录 cd
#osgetcwd() #看看当前目录是什么 pwd
#os.mkdir("test") 创建文件
#os.remove() #删除文件 不能删除目录 相对于 rm
#os.rmdir() #删除目录 rm -rf
#os.rename("1.txt","2.txt") 改名 mv
print(os.linesep) # windows的换行符是 \n\r Linux换行符是 \n mac \r
if not os.path.exists("test"): #检测是不是没有test文件
os.mkdir("test") #没有则创建
print(os.path.abspath("./"))
print(os.path.split("E:\PycharmProjects\\untitled1"))
import sys
print(sys.argv[1])
print(sys.argv[2])
#系统级别传参数,在script parameter设置
import sys
print(sys.argv[1])
print(sys.argv[2])
print(sys.stdout)
f = open("1.log","w")
sys.stdout = f
print("hello world")
#打印
aaa
bbb
<_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>
#不输出print的结果
print(sys.stdout)
sys.stdout.write("lalallala") #这个也可以打印
#写个随机投骰子各个数字出现的频率
import random
class NumberCount(object):
def __init__(self):
self.number1 = 0
self.number2 = 0
self.number3 = 0
self.number4 = 0
self.number5 = 0
self.number6 = 0
def count(self):
for i in range(1,100001):
number = random.randint(1,6)
if number == 1:
self.number1 += 1
if number == 2:
self.number2 += 1
if number == 3:
self.number3 += 1
if number == 4:
self.number4 += 1
if number == 5:
self.number5 += 1
if number == 6:
self.number6 += 1
def getResult(self):
print("1出现的次数是: {0}".format(self.number1))
print("2出现的次数是: {0}".format(self.number2))
print("3出现的次数是: {0}".format(self.number3))
print("4出现的次数是: {0}".format(self.number4))
print("5出现的次数是: {0}".format(self.number5))
print ("6出现的次数是: {0}".format(self.number6))
if __name__ == "__main__":
numberCount = NumberCount()
numberCount.count()
numberCount.getResult()
import random
print(random.randrange(1,100,98))
print(random.sample([1,2,3,4,5,6,7],2)) #第一个参数是列表,第二个代表取2个,在列表里面随机取2个
import string
print(string.ascii_letters)
print(string.digits)
print(string.ascii_lowercase)
print(string.ascii_uppercase)
print(string.punctuation)
print(string.hexdigits)
#打印对应
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
!"#$%&'()*+,-./:;<=>[email protected][\]^_`{|}~
0123456789abcdefABCDEF
import string
import random
print("".join(random.sample(string.ascii_letters + string.digits,6))) #随机生成6位验证码