Python—操作系统和多线程
2021-06-21 11:05
标签:关系 打印机 env mod 理解 top kiosk 包含 删除文件 ####python的操作系统### 1.os模块 import os #1.返回操作系统类型 # 值为posix,是linux操作系统 #值为nt,是windows系统 print os.name #2.返回操作系统的详细 print os.uname() #3.系统的环境变量 print os.environ print os.environ.get(‘PATH‘) #4.判断是否是绝对路径(但是不会判断文件或者目录是否存在) print os.path.isabs(‘/etc/passwd‘) print os.path.isabs(‘hello‘) #5.生成绝对路径 print os.path.abspath(‘hello.png‘) #当前路径下的文件 print os.path.join(‘/home/kiosk‘,‘hello.png‘) #指定绝对路径 print os.path.join(os.path.abspath(‘.‘),‘hello.png‘) #6.获取目录名或者文件名 filename = ‘/home/kiosk/Desktop/hello.png‘ print os.path.basename(filename) print os.path.dirname(filename) #7.创建目录/删除目录 os.mkdir(‘wf‘) os.makedirs(‘wf/westos‘) #相当于 mkdir -p os.rmdir(‘wf‘) #8.创建文件/删除文件 os.mknod(‘wf.txt‘) os.remove(‘wf.txt‘) #9.文件的重命名(如果重命名文件不存在,会报错) os.rename(‘wf.txt‘,‘westos.txt‘) #10.判断文件或者目录是否存在 print os.path.exists(‘img‘) print os.path.exists(‘data.txt‘) #11.分离后缀名和文件名 print os.path.splitext(‘hello.png‘) #12.将目录名和文件名分离 print os.path.split(‘/home/kiosk/Desktop/hello.png‘) 2.练习 需求: (1).在当前目录新建目录img,里面包含多个文件,文件名各不相同(X4G5.png) (2).将当前img目录所有以.png结尾的后缀名改为.jpg import random import string import os # def create(dir): # a = string.ascii_letters + string.digits # b = random.choice(a) # c = b + ‘.png‘ # print os.makedirs(dir/c) # # create(‘wf‘) def gen_code(len=4): #随机生成4位文件名 li = random.sample(string.ascii_letters + string.digits,len) #将列表元素拼接成字符串 return ‘‘.join(li) def create_file(): #随机生成多个文件名 li = {gen_code() for i in range(100)} os.mkdir(‘img‘) for i in li: os.mknod(‘img/‘+i+‘.png‘) # create_file() def modify_suffix(dirname,old_suffix,new_suffix): """ :param dirname: 所要操作的目录 :param old_suffix: 之前的文件后缀 :param new_suffix: 新的文件后缀 :return: """ #1.判断查找的目录是否存在,如果不存在,显示报错 if os.path.exists(dirname): #2.找出所有以old_suffix(.png)结尾的文件 pngfiles = [i for i in os.listdir(dirname) if i.endswith(old_suffix)] #3.将文件名和后缀名分开,留下文件名 ####python的多线程### 1.什么是单线程? 单线程是指:在程序执行时,所走的程序路径按照连续的顺序排下来,前面的必须处理好,后面的才会执行。 2.什么是多线程? 说起多线程,那么就不得不说什么是线程,而说起线程,就要说什么是进程。 进程(Process): 是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统机构的基础。进程可以简单的理解为:是一个可以独立运行的程序单位。它是线程的集合,进程就是由一个或多个线程构成的,每一个线程都是进程中的一条执行路径。每个应用程序都有一个自己的进程。 每个进程启动时都会最先产生一个线程,即主线程。然后主线程会创建其他子线程。 多线程: 就可以理解成进程中同时有多个执行的路径(线程)正在执行 两者的区别: (1)线程必须在某个进程中执行 (2)多线程可以共享同个地址空间,打开的文件以及其它资源 (3)多线程共享物理内存,磁盘,打印机以及其他资源 3.建立多线程 将这些代码,分给了三个线程 """ import threading from time import ctime,sleep def music(a): for i in range(2): print ‘我在听%s。%s‘%(a,ctime()) sleep(1) def movie(b): for i in range(2): print ‘我在看%s。%s‘%(b,ctime()) sleep(5) #创建threads列表 threads = [] t1 = threading.Thread(target=music,args=(‘李钟硕‘,)) threads.append(t1) t2 = threading.Thread(target=movie,args=(‘李钟硕的电影‘,)) threads.append(t2) for i in threads: i.start() print ‘all over %s‘%ctime() 4.线程和函数的关系的建立 from threading import Thread def foo(arg): print arg print ‘before‘ #让线程和函数建立关系 t1 = Thread(target=foo,args=(1,)) t1.start() print t1.getName() t2 = Thread(target=foo,args=(2,)) t2.start() print t2.getName() print ‘after‘ Python—操作系统和多线程 标签:关系 打印机 env mod 理解 top kiosk 包含 删除文件 原文地址:https://www.cnblogs.com/wf-aiyouwei/p/9683903.html
上一篇:Python—设计模式