1,os模块
os模块获取电脑的相关信息并且有很强大的文件及文件夹操作能力,所以在操作文件或者文件夹的时候首先要引入os模块
关于os的一些代码 简单的几个例子
import os
# 获取电脑cpu个数
cpuCount = os.cpu_count()
print(cpuCount)
name = os.name
# nt代表windows操作系统 linux为posix
print('操作系统的名字是:{}'.format(name))
path路径
# exists存在 path路径
# 相对路径
result = os.path.exists('1.homework.py')
if result :
print('存在')
else :
print('不存在')
print(result)
# C:\Users\a\Desktop\os测试
# C:/Users/a/Desktop/os测试
result = os.path.exists('C:/Users/a/Desktop/os测试/python.txt')
print(result)
result = os.path.abspath('周二.py')
print(result)
path路径的相关操作
#获取文件路劲的某一部分
result = os.path.basename('C:/Users/a/Desktop/os测试')
print('路径的basename:{}'.format(result))
result = os .path.commonpath(['C:/Users/a/Desktop/os测试',
'C:/Users/a/Desktop/同屏,'
'C:/Users/a/Desktop/文件夹集合'])
print('路径的公共部分为:{}'.format(result))
# 注意: 以/分割 将路径分成几部分 找到公共的这一部分
result = os.path.commonpath(['http://www.baidu.com',
'http://www,jd.com,',
'http://www.taobao.com'])
print('网址的公共部分为:{}'.format(result))
# directory name 获取指定文件所在的文件夹路径
result = os.path.dirname('C:/Users/a/Desktop/os测试/pytion.txt')
print(result)
2,文件夹相关操作
包括,创建,修改,访问日期 增删改查等功能!
import time
result = os.path.getctime('C:/Users/Administrator/Desktop/pytion')
print('文件创建日期为 :{}'.format(time.localtime(result)))
#a : access 访问
result = os.path.getatime('C:/Users/Administrator/Desktop/pytion')
print('文件访问的日期是:{}'.format(time.localtime(result)))
result = os.path.getatime('C:/Users/Administrator/Desktop/pytion')
print('文件的修改日期是:{}'.format(time.localtime(result)))
result = os.path.getsize('C:/Users/Administrator/Desktop/pytion')
#获取的大小为字节大小 kb
print('文件的大小为:{}'.format(result/1024))
# isfile 判断是否为文件
result = os.path.isfile('C:/Users/Administrator/Desktop/pytion')
print('{}'.format(result))
#文件分割
result = os.path.split('C:/Users/Administrator/Desktop/os测试/python.txt')
print('{}'.format(result))
#文件后缀
result = os.path.splitext('C:/Users/Administrator/Desktop/os测试/python.txt')
print('{}'.format(result))
#文件夹增删改操作 值一 原名 值二 后值
# os.rename('周二.txt','皮皮猪.txt')
if os._exists('皮皮猪.txt'):
os.remove('皮皮猪.txt') #删除文件 removedirs 删除文件夹
# os.mkdir('test')
关于文件添加的小程序
# 小程序
# 1随意输入一个输入 如果是1 创建一个文件夹名字为text_one
# 2如果是2 删除一个文件夹 名字是 test_one
# 3如果是其他数字 返回
# whlie后面跟一个条件 条件为真的情况下 会一直执行 知道条件为假
# x = int(input('请输入一个数:'))
# if x==1:
# os.mkdir('test_one')
# elif x == 2:
# os.removedirs('test_one')
# else:
# pass
关于获取文件路径
print('{}'.format(os.path.abspath('.')))
print('{}'.format(os.getcwd()))
#change 改变 改变当前所在的目录
os.chdir('test')
#获取路径 获取当前路径的父路径
os.path.abspath('..')
#改变路径到指定的路径下 pardir directory parent
os.chdir(os.path.pardir)
print('{}'.format(os.getcwd()))
# os.removedirs('testA')
文件读写
# open 打开指定的文件 如果文件不存在 则创建
# w = write
f = open('os.txt','w',encoding='utf-8')
f.write('hello word\n')
f.write('你好\n')
f.writelines(['张三\n','李四\n','王五\n'])
f.close()
#当文件关闭后 不能再继续对这个文件进行操作 否则会报错
文件内容追加
f = open('new.txt','w',encoding='utf-8')
f.write('人生三大难,早上是啥,中午吃啥,晚上吃啥\n')
f.close()
#a append 追加 ,添加
f= open('new.txt','a',encoding='utf-8')
f.write('谁都不想吃')
f.close()
3,练习题
创建一个文件 名字为code.txt 在里面存放10000个随机数字的验证码
import random
f = open('code.txt','w',encoding='utf-8')
for x in range(0,10000):
num = random.randint(0,999999)
num = '%.6d' % num
f.write(num + '\n')
f.close()
两种方法
f = open('code1.txt','w',encoding='utf-8')
for x in range(0,10000):
content = ''
for y in range(6):
num = random.randint(0,9)
content +=str(num)
f.write(content + '\n')
f.close()
2小练习 ;创建一个文件,在里面存放100000个10随机验证码(3种方法)
# 例如:dadd454545
1.
import random
str = 'qwertyuiopasdfghjkjlmnnbvcxz123456789QWERTYUIOPASDFGHJKLZXCVBNM'
# f = open('ppap.txt','w',encoding='utf-8')
with open('random.txt','w',encoding='utf-8')as f :
for index in range(10000):
content = ''
for x in range(10):
char_str = random.choice(str) #如果对象是一个列表,元祖或者字符串的时候 从这个对象中随机取出一块
content +=char_str
f.write(content + '\n')+
f.close()
2.
with open('random.txt','w',encoding='utf-8')as f :
for index in range(10000):
content = ''
for x in range(10):
char_str = str[random.randint(0,len(str)-1)]
content += char_str
f.write(content + '\n')
f.close()
3.
for x in range(0,10000):
content = ''
for y in range(10):
n = random.randint(0,2)
if n == 0:
num = random.randint(0,9)
content +=str(num)
else:
nnm = random.randint(97,122)
content +=chr(nnm)
f.write(content + '\n')
f.close()
所有验证码中每一个数字的出现的总次数
data = {}
for x in range(10):
data[str(x)] = 0
print(data)
with open('ppap.txt','r',encoding='utf-8')as f :
for line in f.readlines():
for char in line :
for key in data:
if char == key :
data[key] +=1
print(data)
今天又是元气满满的一天 ! 明天继续加油!!!!!!!!!!!!!!