Python os操作及小程序

operation system 操作系统
 os模块获取电脑的相关信息
 并且有很强大的文件及文件夹操作能力
 所以在操作文件或者文件夹的时候
 首先要引入os模块
 
import os
获取电脑cpu个数
cpuCount = os.cpu_count()
print(cpuCount)
nt代表windows操作系统 linux为posix
name = os.name
print('操作系统的名字是:{}'.format(name))
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测试   adminstrator
result = os.path.exists('C:/Users/Administrator/Desktop/os测试/python.txt')
print(result)
当前文件的绝对路径
result = os.getcwd()
print(result)
absolute 绝对的
在计算机当中,获取当前文件路径 用.
获取父文件夹路径 用 ..
result = os.path.abspath('.')
print(result)
result = os.path.abspath('..')
print(result)
获取指定文件对应的绝对路径
result = os.path.abspath('周二.txt')
print(result)
获取文件路径的某一部分  C:/Users/a/Desktop/os测试
result = os.path.basename('C:/Users/Administrator/Desktop/os测试')
print('路径的basename:{}'.format(result))
common 公共的
result = os.path.commonpath(['C:/Users/Administrator/Desktop/os测试',
                             'C:/Users/Administrator/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/Administrator/Desktop/os测试/python.txt')
print(result)
获取文件夹 信息 
文件夹信息包括 创建日期 修改日期  访问日期
import time
# getctime get获取
# c 文档是:change   实际是:create
#result = os.path.getctime('C:/Users/Administrator/Desktop/os测试')
#print('文件创建日期为:{}'.format(time.localtime(result)))
a : access 访问
result = os.path.getatime('C:/Users/Administrator/Desktop/os测试/')
print('文件的访问日期是:{}'.format(time.localtime(result)))
m :modify 修改
result = os.path.getmtime('C:/Users/Administrator/Desktop/os测试')
print('文件的修改日期是:{}'.format(time.localtime(result)))
size 尺寸;大小 # 获取的大小 为字节大小    B
result = os.path.getsize('C:/Users/Administrator/Desktop/os测试')

#   KB
# 1TB = 1024GB        32G    30G
# 1G  = 1024M
# isFile 判断是否为文件
# os.path.exists()
result = os.path.isfile('C:/Users/Administrator/Desktop/os测试/python.txt')
print('{}'.format(result))
文件分割
split 分割;
分割路径
两部分
1 .除最后路径外的全部路径
2.最后路径
 
result = os.path.split('C:/Users/a/Desktop/os测试/python.txt')
print('{}'.format(result))
1.全部路径
2.文件后缀
result =os.path.splitext('C:/Users/a/Desktop/os测试/python.txt')
print('{}'.format(result))
文件夹增删改操作
值1:修改前的名字
值2:修改后的名字
if os._exists('happy.txt'):
    os.rename('happy.txt','葫芦娃.mp3')
if os._exists('葫芦娃.mp3'):
    os.remove('葫芦娃.mp3')
小程序
1.随意输入一个输入 如果是1 创建一个文件夹名字为test_one
2.如果是2 删除一个文件夹 名字是test_one
3.如果是其他数字 返回
while后面需要跟一个判断条件
条件为真的情况下 会一直执行
直到条件为假 或者跳出循环
while False :
    num = input('请输入一个数字')
    num = int(num)
    if num == 1:
        if os.path.exists('test_one'):
            pass
        else :
            os.mkdir('test_one')
    elif num == 2 :
        if os.path.exists('test_one'):
            os.removedirs('test_one')
        else :
            pass
    else :
        break

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()))
文件读写
open 打开
打开指定的文件
如果文件不存在 则创建
w: write
f = open('os.txt','w',encoding='utf-8')
f.write('Hello World\n')
f.write('你好\n')
f.writelines(['张三\n','李四\n','王五\n'])
f.close()

当文件关闭后 不能再继续对这个文件进行操作
 否则会报错  ValueError: I/O operation on closed file.
 f.write('几点开饭')

 小练习:
 创建一个文件,名字为code.txt ,在里面存放10000个6位随机数字的验证码

 防止中文乱码
 w :write 写入内容
 写入的时候 会将之前的内容给清除掉
import random
f = open('code.txt','w',encoding='utf-8')
for x in range(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(10000):
    content = ''
    for y in range(6):
        # 获取一个从0到9的数字
        num = random.randint(0, 9)
        # 将数字转化成字符 并和之前的字符串进行拼接
        content += str(num)
    f.write(content + '\n')
f.close()
r : read
f = open('code.txt','r',encoding='utf-8')
content = f.read()
print(content)
content = f.read(22)
print(content)
读一行
content = f.readline()
print(content)
将读出的结果 放入列表中
content  = f.readlines()
print(content)
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()
获取练习中的文件,然后判断每隔验证码中数字出现的次数总和
统计 一行里面数字出现的个数
f = open('random1.txt','r',encoding='utf-8')
str = f.readlines()
for n in range(10000) :
     print(str[n])
     str1=str[n]
     num = 0
     for i in range(10) :
         txt = str1[i]
         if txt.isdigit() :
             num +=1
     print(num)
统计:所有验证码中每一个数字的出现次数总次数
data = {}
for x in range(10):
    # data['1'] = 0
    # data['2'] = 0
    data[str(x)] = 0
print(data)
with open('random1.txt','r',encoding='utf-8') as f:
    for line in f.readlines():
        # sODoP3yRMX
        for char in line :
           for key in data:
               if char == key :
                   data[key] += 1
print(data)
































  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值