pytion基础之OS和文件操作

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)
   今天又是元气满满的一天 !   明天继续加油!!!!!!!!!!!!!!




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值