<h3>1. 什么是模块,就是一个.py文件</h3>
<h3>2. 导入模块</h3>
import module
import module as new_name
from module import objectname
from module import *
from module import objectname as newname
<pre>
import Tkinter #导入Tkinter 模块
import Tkinter as tk #将Tkinter模块导入进来并重命名为tk
form Tkinter import Label #导入模块中的方法,Label组件
from Tkinter import * #导入模块中的所有组件类和常量
From Tkinter import Label as Lb #将组件导入并重命名为Lb
</pre>
<h3>3. 导入调用</h3>
第一次导入时会出现.pyc的文件
当前文件的__name__属性为'__main__'
所以测试文件放在if条件下,所以只导入创建的对象
<h3>4. 包</h3>
1.包基本上就是另外一类模块。把用来处理一类事物的多个文件放在同一文件夹下组成的模块集。
2.要让python 将其作为包对待,包中每一层目录必须包含__init__.py的文件,为了将模块防止在包内,直接把模块放在包目录内即可。
3.可以通过一个main.py的主函数来将各个模块连起来
3.使用包可以避免多个文件重名的情况,不同的包下的文件同名不影响。
4.使用dir函数,它会将对象的所有特性(以及模块的所有函数,类,变量等)列出来。
<h3>5. os模块</h3>
<h5>5.1 环境变量函数</h5>
1.os.name 如果是windows操作系统返回’nt’,如果是其他系统则返回 ‘posix’
2.os.environ 返回系统的环境变量,以dict形式显示
<h5>5.2 文件操作函数</h5>
python os 模块包含普遍的操作系统功能常用方法:
os.getcwd() 返回当前工作目录
os.chdir(path) 改变工作目录
os.listdir(path=’.’) 列举指定目录中的文件名(‘.’表示当前目录,’..’代表上一级目录)
os.mkdir(path) 创建单层目录,如该目录已存在抛出异常
os.makedirs(path) 递归创建多层目录,如果该目录已经存在则抛出异常。
os.remove(path) 删除文件
os.rmdir(path) 删除单层目录,如该目录非空则抛出异常
os.removedirs(path) 递归删除目录,从子目录到父目录逐层尝试删除,遇到目录非空则抛出异常。
os.rename(old,new) 将文件old 重命名为new,文件和目录都使用这条命令
<pre>
import os
os.getcwd()
'C:\Python27'
os.chdir(r'D:\python\source')
os.getcwd()
'D:\python\source'
os.listdir('.')
['.idea',, 'AUTHORS', 'calc.py', 'ChangeLog', 'data.txt', 'databasse.py', 'errors.py', 'errors.pyc', 'fnord.tif', 'fonts_test.png', 'func.py', 'gen.py', 'guess.py', 'guessNumber.py', 'guessRock.py','test', 'test.html', 'test.py']
os.listdir('..')
[ 'python-2.7.12.msi','setuptools-28.3.0', 'setuptools-28.3.0.zip', 'source']
os.listdir(r'D:\python\source\test')
第一次导入时会出现.pyc的文件
当前文件的__name__属性为'__main__'
所以测试文件放在if条件下,所以只导入创建的对象
<h3>4. 包</h3>
1.包基本上就是另外一类模块。把用来处理一类事物的多个文件放在同一文件夹下组成的模块集。
2.要让python 将其作为包对待,包中每一层目录必须包含__init__.py的文件,为了将模块防止在包内,直接把模块放在包目录内即可。
3.可以通过一个main.py的主函数来将各个模块连起来
3.使用包可以避免多个文件重名的情况,不同的包下的文件同名不影响。
4.使用dir函数,它会将对象的所有特性(以及模块的所有函数,类,变量等)列出来。
<h3>5. os模块</h3>
<h5>5.1 环境变量函数</h5>
1.os.name 如果是windows操作系统返回’nt’,如果是其他系统则返回 ‘posix’
2.os.environ 返回系统的环境变量,以dict形式显示
<h5>5.2 文件操作函数</h5>
python os 模块包含普遍的操作系统功能常用方法:
os.getcwd() 返回当前工作目录
os.chdir(path) 改变工作目录
os.listdir(path=’.’) 列举指定目录中的文件名(‘.’表示当前目录,’..’代表上一级目录)
os.mkdir(path) 创建单层目录,如该目录已存在抛出异常
os.makedirs(path) 递归创建多层目录,如果该目录已经存在则抛出异常。
os.remove(path) 删除文件
os.rmdir(path) 删除单层目录,如该目录非空则抛出异常
os.removedirs(path) 递归删除目录,从子目录到父目录逐层尝试删除,遇到目录非空则抛出异常。
os.rename(old,new) 将文件old 重命名为new,文件和目录都使用这条命令
<pre>
>>> import os
>>> os.getcwd()
'C:\Python27'
>>> os.chdir(r'D:\python\source')
>>> os.getcwd()
'D:\python\source'
>>> os.listdir('.')
['.idea',, 'AUTHORS', 'calc.py', 'ChangeLog', 'data.txt', 'databasse.py', 'errors.py', 'errors.pyc', 'fnord.tif', 'fonts_test.png', 'func.py', 'gen.py', 'guess.py', 'guessNumber.py', 'guessRock.py','test', 'test.html', 'test.py']
>>> os.listdir('..')
[ 'python-2.7.12.msi','setuptools-28.3.0', 'setuptools-28.3.0.zip', 'source']
>>> os.listdir(r'D:\python\source\test')
['aa.jpg', 'aa.png', 'aaaa.py', 'addAgency.py', 'cccc.png', 'forelse.py', 'frame4.jpg', 'ma.py', 'init.py']
os.listdir(r'.\test')
['aa.jpg', 'aa.png', 'aaaa.py', 'addAgency.py', 'cccc.png', 'forelse.py', 'frame4.jpg', 'ma.py', 'init.py']
os.getcwd()
'D:\python\source'
os.mkdir('python')
os.mkdir('python')
Traceback (most recent call last):
File "<pyshell#15>", line 1, in <module>
os.mkdir('python')
WindowsError: [Error 183] : 'python'
os.makedirs(r'ppp\aaa')
os.remove('python')
Traceback (most recent call last):
File "<pyshell#17>", line 1, in <module>
os.remove('python')
WindowsError: [Error 5] : 'python'
os.remove(r'python\aaa.python')
os.rmdir('python')
os.removedirs(r'ppp\aaa')
Traceback (most recent call last):
File "<pyshell#22>", line 1, in <module>
os.removedirs(r'ppp\aaa')
File "C:\Python27\lib\os.py", line 170, in removedirs
rmdir(name)
WindowsError: [Error 145] : 'ppp\aaa'
os.remove(r'ppp\aaa\hh.txt')
os.removedirs(r'ppp\aaa')
os.mkdir('ajkfdhk')
os.rename('ajkfdhk.py','python')
</pre>
<h5>5.3 os.path 模块中关于路径常用的函数使用方法:</h5>
os.path.basename(path) 去掉目录路径,单独返回文件名
os.path.dirname(path) 去掉文件名,单独返回目录路径
os.path.join(path1,path2) 将path1,path2各部分组合成一个路径名
os.path.split(path) 分割文件名和路径,返回(f_path,f_name)元组。如果完全使用目录,它也会将最后一个目录作为文件名分离,且不会判断文件或者目录是否存在。
os.path.splitext(path)分离文件名与扩展名,返回(f_name,f_extension)元组
os.path.getsize(file)返回指定文件的尺寸,单位是字节
os.path.getatime(file) 返回指定文件最近的访问时间(浮点型秒数,可用time模块的gmtime()或localtime()函数换算)
os.path.getctime(file) 返回指定文件创建时间(浮点型秒数,可用time模块的gmtime()或localtime()函数换算)
os.path.getmtime(file) 返回指定文件最新的修改时间(浮点型秒数,可用time模块的gmtime()或localtime()函数换算)
<pre>
os.path.splitext('aaa.py')
('aaa', '.py')
os.path.basename(r'D:\python\source')
'source'
os.path.basename(r'D:\python\source\oo.py')
'oo.py'
os.path.dirname(r'D:\python\source\oo.py')
'D:\python\source'
os.path.join('python','test')
'python\test'
os.makedirs(r'python\test\aa.py')
os.path.split(r'python\test\aa.py')
('python\test', 'aa.py')
os.path.splitext(r'python\test\aa.py')
('python\test\aa', '.py')
os.path.getsize('test')
4096L
os.path.getatime('test')
1483093455.2816048
os.path.getctime('test')
1480577957.196684
os.path.getmtime('test')
1483093455.2816048
</pre>
<h5>5.4 返回True或False的函数os:</h5>
os.path.exists(path) 判断指定路径(目录或文件)是否存在
os.path.isabs(path) 判断指定路径是否为绝对路径
os.path.isdir(path) 判断指定路径是否存在且是一个目录
os.path.isfile(path) 判断指定路径是否存在且是一个文件
<pre>
os.path.exists('test')
True
os.path.isabs('test')
False
os.path.isabs(r'D:\python\source\python\test\aa.py')
True
os.path.isdir(r'D:\python\source\python\test\aa.py')
True
os.path.isfile(r'D:\python\source\python\test\aa.py')
False
os.path.isfile(r'D:\python\source\python\test\aa.py\ff.txt')
True
os.path.isdir('test')
True
os.path.isdir('ggg')
False
os.path.isfile('test')
False
os.path.isfile(r'.\test\ma.py')
True
</pre>
<h3>6. shutil模块:</h3>
<h5>6.1 复制文件</h5>
shutil.copyfile(‘oldfile’,’newfile’) oldfile和newfile都只能是文件
shutil.copy(‘oldfile’,’newfile’) oldfile只能是文件,newfile可以是文件也可以是目标目录
<h5>6.2 复制文件夹</h5>
shutil.copytree(‘olddir’,’newdir’),olddir和newdir都只能是目录,且newdir必须不存在
<h5>6.3 移动文件(目录)</h5>
shutil.move(‘oldname’,’newname’)
<h5>6.4 删除目录</h5>
os.rmdir(‘dir’)只能删除空目录
shutil.rmtree(‘dir’)空目录,有内容的目录都可以删
<pre>
import shutil
shutil.copyfile('oo.py','ooo.py')
shutil.copy('oo.py','python\ooo.py')
shutil.copytree('test','python2')
shutil.move('python2','python')
os.listdir(r'D:\python\source\python\test\aa.py')
['ff.txt']
os.remove(r'D:\python\source\python\test\aa.py\ff.txt')
shutil.rmtree(r'python')
</pre>
<h3>7. sys模块os</h3>
sys.argv: 用来向python解释器传递参数,名曰“命令行参数”
sys.exit(): 退出当前程序
sys.stdout: 与Python中的函数功能对照,sys.stdin获得输入,等价于python2中的raw_inpurt(),python3中的input(),sys.stdout负责输出
sys.path: 返回python目录下所有.pth路径文件下的内容集系统默认设置。可以通过列表的操作对其进行修改,不过这种更改只对当前的程序起作用。
<pre>
import sys
sys.path
['', 'C:\Python27\Lib\idlelib', 'C:\Windows\SYSTEM32\python27.zip', 'C:\Python27\DLLs', 'C:\Python27\lib', 'C:\Python27\lib\plat-win', 'C:\Python27\lib\lib-tk', 'C:\Python27', 'C:\Python27\lib\site-packages']
sys.path.append(r'c:\pythonsource')
sys.path
['', 'C:\Python27\Lib\idlelib', 'C:\Windows\SYSTEM32\python27.zip', 'C:\Python27\DLLs', 'C:\Python27\lib', 'C:\Python27\lib\plat-win', 'C:\Python27\lib\lib-tk', 'C:\Python27', 'C:\Python27\lib\site-packages', 'c:\\pythonsource']
</pre>
<h3>8. time模块:</h3>
时间获取和转换,时间元组(time.struct_time),gettime(),localtime()和striptime()以时间元组(struct_time)的形式返回
<pre>
import time
time.localtime()
time.struct_time(tm_year=2017, tm_mon=1, tm_mday=4, tm_hour=16, tm_min=59, tm_sec=39, tm_wday=2, tm_yday=4, tm_isdst=0)
</pre>
返回的元组的内容:
time.asctime([t]):接收时间元组并返回一个可读的形式。
<pre>
time.asctime(time.localtime())
'Wed Jan 04 17:02:10 2017'
</pre>
time.clock(): 用以浮点数计算的秒数返回当前的cpu时间,用来衡量不同程序的耗时
time.time(): 返回当前时间的时间戳,可以用来计算程序的耗时
时间戳(timestamp): 表示的是从1970年1月1日00:00:00开始按秒计算的偏移量(time.gmtime(0))
time.sleep(secs): 推迟调用线程的运行,secs的单位是秒
<pre>
import time
time.localtime()
time.struct_time(tm_year=2017, tm_mon=1, tm_mday=4, tm_hour=16, tm_min=59, tm_sec=39, tm_wday=2, tm_yday=4, tm_isdst=0)
t = time.localtime()
time.asctime(t)
'Wed Jan 04 17:00:29 2017'
time.asctime(time.localtime())
'Wed Jan 04 17:02:10 2017'
time.strftime('%Y-%m-%d %H:%M:%S')
'2017-01-04 17:02:38'
time.clock()
1.2411860277206487e-06
time.time()
1483520463.876
time.sleep(3)
</pre>