python学习--标准库之os 实例(1)

#!/usr/bin/env python3
#-*-coding:utf-8-*-

import os

class File(object):

    def __init__(self, pathname):
        self.pathname = pathname

    #删除文件
    def delectFile(self, filename):
        #fn = self.pathname + str(filename).strip()
        #用上一语句不能正确获取文件名
        fn = os.path.join(self.pathname, str(filename).strip())
        #if os.path.isfile(fn): #判断一个文件是否存在
        if os.access(fn, os.F_OK):
            os.remove(fn)
            if(not os.path.isfile(fn)): #如果文件不存在了
                #print('*Tips: File: ', fn, ' has been deleted.')
                print('*注意:文件"{}"已删除'.format(fn))
        else:
            #print('*Tips: File: ', fn, ' not found.')
            print('注意:文件"{}"未找到'.format(fn))

    #创建文件
    def createFile(self, filename):
        #fn = self.pathname + str(filename).strip()
        fn = os.path.join(self.pathname, str(filename).strip())
        print(fn)
        if not os.path.isfile(fn):
            open(fn, mode='w', encoding='UTF-8').close()
            print('注意:文件"{}"已创建成功!'.format(fn))

    #获取文件大小
    def getFileSize(self, filename):
        k_size = round(os.stat(filename).st_size / 1024, 1) #os.stat(filename)可以返回文件的属性
        if k_size > 1024:
            m_size = round(k_size / 1024, 1)
            if m_size > 1024:
                return str(round(m_size / 1024, 1)) + 'G'
            else:
                return str(m_size) + 'M'
        else:
            return str(k_size) + 'K'

    #列出目录下所有文件夹和文件
    def listPath(self):
        for root, dirs, files in os.walk(self.pathname):
            print(root)
            for dir in dirs:
                print('\t', dir)
            for file in files:
                print('\t', file, '\t', self.getFileSize(root+'\\'+file))


#让用户选择操作
def selectOperation():
    print('\n*1.列出目录下所有文件夹和文件.')
    print('*2.创建文件.')
    print('*3.删除文件.')
    print('*4.退出.')

    s = input("*请选择一个操作:")
    return s

if __name__ == '__main__':
    pathname = input('请输入一个目录名: ')
    file = File(pathname)
    while True:
        selectNum = selectOperation()
        if selectNum == '1':
            file.listPath()
        elif selectNum == '2':
            fn = input("输入一个文件名: ")
            file.createFile(fn)
        elif selectNum == '3':
            fn = input("输入一个文件名: ")
            file.delectFile(fn)
        elif selectNum == '4':
            break;

 

转载于:https://www.cnblogs.com/hayden1106/p/7873895.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值