random()随机函数
import random print(random.choice('abcdefghij')) #随机取这些字母 print(random.choice(['apple','pear','banana']))#随机列表的值
结果:
a
banana
OS模块
OS模块常见操作:
os.path.isdir(path) 判断当前路径是否指向这样的一个目录(存在的),如果是就返回true
os.path.isfile(path) 判断当前路径是否指向一个文件(存在的)
os.path.exists(path) 判断置顶的文件是否存在
os.path.join(path1[,path2[,...]]) 组合路径
fpath,fname = os.path.split("你要分解的路径") 将一个路径名分解为目录名和文件名两部分
fpathandname,fext = os.path.splitext("你要分解的路径") 分解文件名的扩展名
os.listdir("你要判断的路径") 获取某目录中的文件及子目录的列表
os.path.getsize(path) 获取指定文件的大小,单位字节
os.path.getmtime(path) 获得指定文件目录上次被修改的时间.可以用time.ctime进行转化为可读形式输出
import os,shutil
print("当前工作目录:",os.getcwd()) #重命名文件test1.txt到text2.txt #os.rename("test1.txt","test2.txt") #删除一个已经存在的文件test2.txt #os.remove("test2.txt") #在当前目录下创建新目录test #os.mkdir("test") #将当前目录改为"C:aa" #os.chdir("c:aa") #删除"c:aa"目录,在删除这个目录前,它的所有内容应该先被清除 #os.rmidr("c:aa") #os.system('mkdir today') #执行系统命令mkdir
#拷贝文件
#shutil.copyfile('源文件','目标文件')
#剪切文件
#shutil.move('源文件','目标路径')
print("------------glob根据指定的通配符去搜索--------") #搜索指定的文件 print(glob.glob("*.py")) #搜索C盘底下,所有的.txt文件 print(glob.glob("C:*.txt"))
练习:
1.打印指定目录下所有的文件名(带路径).统一用:C:Program Files
提示:os.listdir,join
os.listdir("你要判断的路径") 获取某目录中的文件及字母的列表
os.path.join(path1[,path2[,...]]) 组合路径
def print_dir(dir_path): for name in os.listdir(dir_path): print(os.path.join(dir_path,name)) print_dir("C:Program Files")
结果:
C:Program FilesCommon Files
C:Program Filesdesktop.ini
C:Program FilesInternet Explorer
C:Program FilesMicrosoft Games
C:Program FilesMSBuild
C:Program FilesNVIDIA Corporation
C:Program FilesReference Assemblies
C:Program FilesUninstall Information
C:Program FilesWindows Defender
C:Program FilesWindows Journal
C:Program FilesWindows Mail
C:Program FilesWindows Media Player
C:Program FilesWindows NT
C:Program FilesWindows Photo Viewer
C:Program FilesWindows Portable Devices
C:Program FilesWindows Sidebar
2.递归显示指定目录名以及子目录的文件名
统一用:C:Program FilesInternet Explorer
os.path.isdir(path) 判断当前路径是否指向这样的一个目录(存在的),如果是就返回true
def print_dir2(dir_path): #打印出指定目录的所有文件 for name in os.listdir(dir_path): full_path = os.path.join(dir_path,name) print(full_path) #判断当前指定的路径是否是一个子目录 if os.path.isdir(full_path): #递归调用函数 print_dir2(full_path) print_dir2("C:Program FilesInternet Explorer")
结果:
C:Program FilesInternet Exploreren-US
C:Program FilesInternet Exploreren-USeula.rtf
C:Program FilesInternet Exploreren-USiedvtool.dll.mui
C:Program FilesInternet Exploreren-USieinstal.exe.mui
C:Program FilesInternet Exploreren-USiexplore.exe.mui
C:Program FilesInternet Exploreren-USjsdbgui.dll.mui
C:Program FilesInternet Exploreren-USjsprofilerui.dll.mui
C:Program FilesInternet Exploreren-US
etworkinspection.dll.mui
C:Program FilesInternet Explorerie9props.propdesc
C:Program FilesInternet Exploreriediagcmd.exe
C:Program FilesInternet Exploreriedvtool.dll
C:Program FilesInternet Explorerieinstal.exe
C:Program FilesInternet Explorerielowutil.exe
C:Program FilesInternet Explorerieproxy.dll
C:Program FilesInternet ExplorerIEShims.dll
C:Program FilesInternet Exploreriexplore.exe
C:Program FilesInternet Explorerimages
C:Program FilesInternet Explorerimagesing.ico
C:Program FilesInternet Explorerjsdbgui.dll
C:Program FilesInternet Explorerjsdebuggeride.dll
C:Program FilesInternet ExplorerJSProfilerCore.dll
C:Program FilesInternet Explorerjsprofilerui.dll
C:Program FilesInternet Explorermsdbg2.dll
C:Program FilesInternet Explorer
etworkinspection.dll
C:Program FilesInternet Explorerpdm.dll
C:Program FilesInternet Explorerpdmproxy100.dll
C:Program FilesInternet ExplorerSIGNUP
C:Program FilesInternet ExplorerSIGNUPinstall.ins
C:Program FilesInternet Explorersqmapi.dll
C:Program FilesInternet Explorerzh-CN
C:Program FilesInternet Explorerzh-CNeula.rtf
C:Program FilesInternet Explorerzh-CNiedvtool.dll.mui
C:Program FilesInternet Explorerzh-CNieinstal.exe.mui
C:Program FilesInternet Explorerzh-CNiexplore.exe.mui
C:Program FilesInternet Explorerzh-CNjsdbgui.dll.mui
C:Program FilesInternet Explorerzh-CNjsprofilerui.dll.mui
C:Program FilesInternet Explorerzh-CN
etworkinspection.dll.mui