Python包的导入
本地导入文件使用import filename;
导入的是一个包,该包下面必须是有__init__.py文件才可以导入,否则报错,只有有了__init__.py文件,python解析器才会把这个目录当成是的包
import语法
import 包名
form 包名 import 模块名
improt 包名.模块名 as 函数名
例子:
#直接导入datetime模块
import datetime
print(datetime.datetime.now())
#仅导入datetime模块中的datetime方法
from datetime import datetime
print(datetime.now())
datetime使用
例子:
from datetime import datetime
now_time = datetime.now()
#使用strftime方法将time类型转换为str类型
a = now_time.strftime('%Y-%m-%d')
print(now_time)
print(a)
print(type(now_time))
输出:
2017-04-25 14:23:37.339000
2017-04-25
<type 'datetime.datetime'>
strftime函数常用参数
%Y 带世纪部分的十制年份
%m 十进制表示的月份
%d 十进制表示的每月的第几天
%H 24小时制的小时
%M 十时制表示的分钟数
%S 十进制的秒数
%c 标准时间,如:04/25/17 14:35:14
例子:
from datetime import datetime, timedelta
now_time = datetime.now()
a = now_time.strftime('%c')
print(now_time)
print(a)
#timedelta是计算日期差的,负数是前一天,正数是后一天
b1 = now_time + timedelta(days=-1)
b2 = now_time + timedelta(days=+1)
print(b1)
print(b2)
输出:
2017-11-09 23:43:30.690664
Thu Nov 9 23:43:30 2017
2017-11-08 23:43:30.690664
2017-11-10 23:43:30.690664
例子:
from datetime import datetime, timedelta
str1 = '2017-11-09 23:59:58'
#strptime函数可以将str类型的日期转换为datetime类型
time1 = datetime.strptime(str1, '%Y-%m-%d %H:%M:%S')
print(time1)
print(type(time1))
输出:
2017-11-09 23:59:58
<class 'datetime.datetime'>
例子:
from datetime import datetime, timedelta
str1 = '2017-11-09 23:59:58'
#将字符串类型的时间转换为datetime类型
time1 = datetime.strptime(str1, '%Y-%m-%d %H:%M:%S')
print(time1)
print(type(time1))
#将datetime类型的日期转换为字符串
time1_str = datetime.strftime(time1, '%Y-%m-%d %H:%M:%S')
print(type(time1_str))
print(time1_str)
输出:
2017-11-09 23:59:58
<class 'datetime.datetime'>
<class 'str'>
2017-11-09 23:59:58
例子:
from datetime import datetime, timedelta
import time
#使用time方法获取当前时间戳
time1 = time.time()
print(time1)
#使用fromtimestamp方法将时间戳转换为日期
time1_str = datetime.fromtimestamp(time1)
print(time1_str)
print(type(time1_str))
输出:
1510242773.3468468
2017-11-09 23:52:53.346847
<class 'datetime.datetime'>
OS模块
例子:
import os
#查看当前操作系统类型,windows为nt,linux为posix
print(os.name)
例子:
import os
#调用系统命令ipconfig
os.system(‘ipconfig’)
#使用popen方法方法查看执行后的返回结果,返回类型为file,需要使用read读取file类型的数据
content=os.popen('ipconfig').read()
print(content)
例子
import os
#获得目录的当前系统程序工作路劲
print(os.getcwd())
#切换到目标目录
os.chdir(r'd:\123\456')
#列出当前目录的文件
print(os.listdir(os.getcwd()))
#列出C:\Python27目录下的文件
print(os.listdir('C:\Python27'))
#在当前目录下创建abc目录
os.mkdir('abc')
#删除当前目录下的1.txt文件,如果文件不存在会报错
os.remove('1.txt')
#打印操作系统的分隔符,linux系统的分隔符\n,windows系统的分隔符\r\n,mac系统的分隔符\r
print(os.linesep)
#拼接当前路径及后面文件,但是不创建文件
print(os.path.join(os.getcwd(), 'abc.txt'))
#判断路径是否为链接
print(os.path.islink(os.getcwd()))
path1 = os.path.join(os.getcwd(), 'abc.txt')
#将路径与文件名分开,类型为元组
print(os.path.split(path1))
#将盘符与后面内容分开
Print(os.path.splitdrive(path1))
#将后缀名与前面内容分开
Print(os.path.splitext(path1))
#当前目录下存在aaa目录,不创建,当前不存在aaa目录,创建aaa目录
if not os.path.exists(r'E:\123\aaa'):
os.mkdir(r'E:\123\aaa')
#获得E:\123\456.py文件的目录
print(os.path.dirname(r'E:\123\456.py'))
commands模块
Python中的commands模块专门用于调用Linux shell命令,并返回状态和结果
例子:
import commands
ls1 = 'ls /home/admin'
#getoutput执行shell命令返回str结果
a = commands.getoutput(ls1)
print(type(a))
print(a)
输出:
输出同shell下ls /home/admin命令,返回类型为str
例子:
import commands
ls1 = 'ls /home/admin'
#getstatusoutput方法返回元祖类型
c = commands.getstatusoutput(ls1)
print(type(c))
#将元祖中的两个值分别赋给status, output。shell成功,status返回0,不成功返回1。output类型为str
status, output = commands.getstatusoutput(ls1)
print(status)
print(output)
print(type(output))
sys模块
获取程序参数
例子:
#获取程序参数
import sys
print('argv[0] = {0} argv [1] = {1}'.format(sys.argv[0], sys.argv[1]))
输出:
第一个参数为本省参数,第二个阐述为执行时输入的参数
标准输入、标准输出和错误输出
sys.stdin、sys.stdout和sys.stderr
例子:
#标准输入
import sys
print "Please enter your name: "
name = sys.stdin.readline()
print name
例子:
#标准输出
import sys
sys.stdout.write("123456\n")
sys.stdout.flush()
#标准输入
import sys
print sys.stdin.readlines()
例子:
#标准输出
import sys
import time
for i in range(5):
print i
#刷新缓存后直接输出,不会等到循环结束后输出,对实时输出有要求时可使用
sys.stdout.flush()
time.sleep(1)
捕获结束时退出是否正常
def exitfunc():
print 'hello world'
sys.exitfunc = exitfunc
print "aaaaaaaa"
# 退出自动调用exitfunc()后,程序退出
sys.exit(1)
#程序退出,不会执行
print 'bbbbbb'