模块_time模块/copy模块/os模块

#!/usr/bin/env python
# _*_ coding:utf-8 _*_
#******************time模块********************
#进度条打印,即循环打印
import time
for i in range(10):
print('#',end='',flush=True)
#time.sleep(1)
print('',end='\n')
#1s钟打印一个#,并且是以一行的方式打印,最后打印回车

####解释:print()####
# print默认方法的传参如:def print(self, *args, sep=' ', end='\n', file=None):
#end值即为打印print()方法中的第一个值后的值,默认为\n,即回车,所以每次print输出都是一行,当end=''时每次输出完就不会有回车的操作
#flush值为真时即每次输出后就刷新,此值默认为flase

#******************字符串格式化********************
#''.format() ''中key用{}括起来,()中以key=value形式写
#''.format_map() ()中不是单纯以key=value的形式写,而是个字典,字典中的key相当于''中的{}中的值
print('name={n},age={a}'.format(n='abc',a='18'))
eva={'name':'dd','age':15}
print('name={name},age={age}'.format_map(eva))


import time
print(time.localtime())
#打印:time.struct_time(tm_year=2017, tm_mon=10, tm_mday=21, tm_hour=22, tm_min=58, tm_sec=2, tm_wday=5, tm_yday=294, tm_isdst=0)
print(time.gmtime())
#打印:time.struct_time(tm_year=2017, tm_mon=10, tm_mday=21, tm_hour=15, tm_min=2, tm_sec=58, tm_wday=5, tm_yday=294, tm_isdst=0)
print(time.time())
#打印:1508598320.3301802
print(time.mktime(time.localtime()))
#打印:1508598511.0

####解释:time模块简介####
#1.time.sleep(secs):线程推迟指定的时间运行。单位为秒。
#2.time.localtime([secs]):将一个时间戳转换为当前时区的struct_time。secs参数未提供,则以当前时间为准。
#3.time.gmtime([secs]):和localtime()方法类似,gmtime()方法是将一个时间戳转换为UTC时区(0时区)的struct_time。
#4.time.time():返回当前时间的时间戳。????不知道有什么用
#5.time.mktime(t):将一个struct_time转化为时间戳。


#******************copy模块********************
import copy
a = [123,456]
b = a
c = copy.deepcopy(a)#深拷贝
d = copy.copy(a)#浅拷贝
a.append(789)
print('a=%s,b=%s,c=%s,d=%s'%(a,b,c,d))
#打印:a=[123, 456, 789],b=[123, 456, 789],c=[123, 456],d=[123, 456]

import copy
a = [1, 2, 3]
b = a.copy()
b[0] = 333
print('a=%s,b=%s'%(a,b))
#打印:a=[1, 2, 3],b=[333, 2, 3]
#如果list中没有引用其它对象,那么浅拷贝就和深拷贝一样一样了。

import copy
a = [1, 3, [2, 3]]
b = a[:]
b[2][0] = 1999
b[1] = 2
print('a=%s,b=%s'%(a,b))
#打印:a=[1, 3, [1999, 3]],b=[1, 2, [1999, 3]]

import copy
a = {1: [1,2,3]}
b = a.copy()
print('a=%s,b=%s'%(a,b))
#打印:a={1: [1, 2, 3]},b={1: [1, 2, 3]}
a[1].append(4)
print('a=%s,b=%s'%(a,b))
#打印:a={1: [1, 2, 3, 4]},b={1: [1, 2, 3, 4]}

import copy
a = {1: [1,2,3]}
c = copy.deepcopy(a)
print('a=%s,c=%s'%(a,c))
#打印:a={1: [1, 2, 3]},c={1: [1, 2, 3]}
a[1].append(5)
print('a=%s,c=%s'%(a,c))
#打印:a={1: [1, 2, 3, 5]},c={1: [1, 2, 3]}

####解释:copy模块简介####
#copy模块用于对象的拷贝操作。该模块只提供了两个主要的方法:copy.copy与copy.deepcopy,分别表示浅复制与深复制
#1.浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。即浅复制只复制对象本身,没有复制该对象所引用的对象。
#2.深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。即创建一个新的组合对象,同时递归地拷贝所有子对象,新的组合对象与原对象没有任何关联。虽然实际上会共享不可变的子对象,但不影响它们的相互独立性。
#3.浅拷贝和深拷贝的不同仅仅是对组合对象来说,所谓的组合对象就是包含了其它对象的对象,如列表,类实例。而对于数字、字符串以及其它“原子”类型,没有拷贝一说,产生的都是原对象的引用,所以两者就是一样的结果了。
#4.b = a: 赋值引用,a 和 b 都指向同一个对象。
#5.b = a.copy(): 浅拷贝, a 和 b 是一个独立的对象,但他们的子对象还是指向统一对象(是引用)。
#6.b = copy.deepcopy(a): 深度拷贝, a 和 b 完全拷贝了父对象及其子对象,两者是完全独立的。

#******************三元运算符********************
a = 2
b = 3
c = a if a>b else b
print(c)


#******************模块********************
#模块分类:
#1.标准模块、标准包,python自带这些
#2.第三方模块 ,需自己安装
#3.自己写的模块
#模块的安装
#1.cmd进入终端: pip install *** eg:pip install xpinyin
#2.网页下载该模块--》进入解压缩--》进入终端--》进入当前目录--》终端中:python setup.py install
#3.pycharm-->file-->settings-->project Inter***-->选中右侧任意一个模块后点击最右侧+号-->搜索模块名安装即可
#备注:1.python3中pip是自带的,python2中不是自带的,需手动安装
# 2.安装前提,两个环境变量1.Python的环境变量,2.pip的环境变量:python/scripts/pip
# 3.需要变为环境变量的文件上右键菜单选择Mark directory as --> sources root[此方法不常用,否则脚本移植到其他地方可能不能用,或者会引起其他问题]
#引用其他模块的方法:
#1. import 路径.模块
#2.from 模块名 import 函数名 as 别名
#一个python文件即为一个模块,所以文件名.函数就是模块名.函数
import test #同级目录下
r = test.aa()
print(r)

import day05.test #不同级目录下
r = day05.test.aa()
print(r)

import xpinyin #安装后的第三方的
name='王俊熹'
s=xpinyin.Pinyin()
print(s.get_pinyin(name))

#******************__name__********************
#if __name__=='__main__': __name__ python 文件自己运行时是__main__,其他python文件导入后运行显示的是导入文件的文件名
#该if语句的作用:该if意思是判断是否在自己的模块中,如果在就运行下面的语句,如果不在,就运行else,以防止当此python文件作为模块导入到其他文件中时被执行,一般为编写者自己调试代码用

#******************os********************
import os
#os.getcwd() 获取当前的目录 (记住)
print(os.getcwd())
#打印:E:\python01\python00\day05

#os.chmod("路径",权限数eg:5) 修改文件权限
#os.chdir("../") 跳转至()的路径中 (记住)
print(os.chdir('../day02'))
print(os.getcwd())
print(os.chdir('../day05/'))
#打印:None
# E:\python01\python00\day02
# None

#os.mkdir('aaa.txt') 创建目录(从当前目录开始) (记住)
print(os.mkdir('aaa.txt'))
#打印:None

#os.makedirs("test1/test2/test3") 创建递归目录(从当前目录开始) (记住)
print(os.makedirs('a/b/c'))
print(os.makedirs('aa/bb/cc/dd.txt'))
#打印:None
# None

#os.rmdir('test1') 删除空目录 (记住)
print(os.rmdir('aaa.txt'))
#打印:None

#os.removedirs('test1') 递归删除空目录 (记住)
print(os.removedirs('a/b/c'))
#打印:None

#os.listdir('.') 列出当前目录所有文件 (记住)
print(os.listdir('.'))
#打印:['day04_zuoye.py', 'day05_01.py', 'day05_02.py', 'day05_03.py', 'new.py', 'shop', 'shop.py', 'test.py', 'test1.py', 'userinfo.txt', 'zifuchuan.txt', '__pycache__', '作业.txt', '复习.py']

#os.rename('test','test4')
print(os.mkdir('aaa.txt'))
print(os.rename('aaa.txt','bbb.txt'))
#打印:None
# None

#os.sep 当前操作系统的路径分隔符
print(os.sep)
#打印:\

#os.linesep 当前操作系统的换行符 待验证
d = {}
d['a'] = os.linesep
print(d['a'])
#打印:

#os.pathsep 环境变量中的分隔符
print(os.pathsep)
#打印:;

#os.environ 环境变量
print(os.environ)
#打印:environ({'PUBLIC': 'C:\\Users\\Public', 'COMMONPROGRAMW6432': 'C:\\Program Files\\Common Files', 'TMP': 'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp', 'COMSPEC': 'C:\\Windows\\system32\\cmd.exe', 'HOMEDRIVE': 'C:', 'WINDOWS_TRACING_LOGFILE': 'C:\\BVTBin\\Tests\\installpackage\\csilogfile.log', 'USERNAME': 'Administrator', 'PROCESSOR_LEVEL': '6', 'CLASSPATH': 'C:\\Program Files (x86)\\Java\\mysql-connector-java-5.1.43\\mysql-connector-java-5.1.43-bin.jar', 'LOGONSERVER': '\\\\YOS-01708121253', 'SYSTEMDRIVE': 'C:', 'PROGRAMFILES(X86)': 'C:\\Program Files (x86)', 'PROCESSOR_ARCHITECTURE': 'AMD64', 'MYSQL_HOME': 'C:\\Program Files\\mysql-5.6.37-winx64\\', 'SYSTEMROOT': 'C:\\Windows', 'PROGRAMFILES': 'C:\\Program Files', 'PYTHONPATH': 'E:\\python01\\python00', 'PROGRAMDATA': 'C:\\ProgramData', 'USERPROFILE': 'C:\\Users\\Administrator', 'NUMBER_OF_PROCESSORS': '4', 'PROCESSOR_REVISION': '2505', 'HOMEPATH': '\\Users\\Administrator', 'WINDIR': 'C:\\Windows', 'TEMP': 'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp', 'COMMONPROGRAMFILES': 'C:\\Program Files\\Common Files', 'COMPUTERNAME': 'YOS-01708121253', 'ALLUSERSPROFILE': 'C:\\ProgramData', 'PYCHARM_HOSTED': '1', 'FP_NO_HOST_CHECK': 'NO', 'PYTHONIOENCODING': 'UTF-8', 'APPDATA': 'C:\\Users\\Administrator\\AppData\\Roaming', 'PROCESSOR_IDENTIFIER': 'Intel64 Family 6 Model 37 Stepping 5, GenuineIntel', 'USERDOMAIN': 'YOS-01708121253', 'PROGRAMW6432': 'C:\\Program Files', 'PATHEXT': '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC', 'PYTHONUNBUFFERED': '1', 'PSMODULEPATH': 'C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules\\', 'WINDOWS_TRACING_FLAGS': '3', 'OS': 'Windows_NT', 'LOCALAPPDATA': 'C:\\Users\\Administrator\\AppData\\Local', 'SESSIONNAME': 'Console', 'COMMONPROGRAMFILES(X86)': 'C:\\Program Files (x86)\\Common Files', 'PATH': 'C:\\Miniconda3\\Library\\bin;C:\\ProgramData\\Oracle\\Java\\javapath;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files (x86)\\ATI Technologies\\ATI.ACE\\Core-Static;C:\\Miniconda3;C:\\Miniconda3\\Scripts;C:\\Miniconda3\\Library\\bin;C:\\Program Files\\TortoiseGit\\bin;C:\\Program Files\\mysql-5.6.37-winx64\\bin;C:\\Program Files (x86)\\apache-jmeter-3.0_json\\apache-jmeter-3.0\\bin'})

#os.name 操作系统名称
print(os.name)
#打印:nt

#__file__ 当前文件的绝对路径
print(__file__)
#打印:E:/python01/python00/day05/复习.py

#os.path.abspath(__file__) 获取绝对路径
print(os.path.abspath(__file__))
#打印:E:\python01\python00\day05\复习.py

#os.path.split('/s/d/1.txt') 分隔路径和文件名
print(os.path.split('/s/d/1.txt'))
#打印:('/s/d', '1.txt')

#os.path.dirname(('s/d/1.txt')) 获取文件父目录
print(os.path.split('/s/d/1.txt'))
#打印:('/s/d', '1.txt')

#os.path.exists('s/d/1.txt') 判断文件是否存在,存在返回TRUE,不存在返回failed
print(os.path.exists('/day05/shop'))
print(os.path.exists('day05/test.py'))
print(os.path.exists('day05/cc.txt'))
print(os.path.exists('bbb.txt'))
#打印:False
# False
# False
# True

#os.path.isdir('test') 判断是否是目录
print(os.path.isdir('day05/shop'))
print(os.path.isdir('day05/shopp'))
print(os.path.isdir('shop'))
#打印:False
# False
# True

#os.path.join('root','here','a.sql') 拼接为一个路径 (记住)
print(os.path.join('day06','test','test.txt'))
#打印:day06\test\test.txt







posted on 2017-10-25 00:00  yezi_396  阅读(239)  评论(0编辑  收藏  举报

导航