Python3之OS模块文件操作

最近闲来无事学下Python3,用PyCharm写了个文件操作小例子,具体功能慢慢再补全:

#-*-coding:utf-8-*-
__author__ = 'AA'

import os

class File(object):

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

    #删除文件
    def delectFile(self, filename):
        fn = self.pathname + str(filename).strip()
        if os.path.isfile(fn):
            os.remove(fn)
            if(not os.path.isfile(fn)):
                print('*Tips: File: ', fn, ' has been deleted.')
        else:
            print('*Tips: File: ', fn, ' not found.')

    #创建文件
    def createFile(self, filename):
        fn = self.pathname + str(filename).strip()
        if not os.path.isfile(fn):
            open(fn, mode='w', encoding='UTF-8').close()

    #获取文件大小
    def getFileSize(self, filename):
        k_size = round(os.stat(filename).st_size / 1024, 1)
        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.List all directories and files.')
    print('*2.Create file.')
    print('*3.Delete file.')
    print('*4.Exit.')

    s = input("*Please select an operation:")
    return s

if __name__ == '__main__':
    pathname = input('Input a pathname: ')
    file = File(pathname)
    while True:
        selectNum = selectOperation()
        if selectNum == '1':
            file.listPath()
        elif selectNum == '2':
            fn = input("Input a filename: ")
            file.createFile(fn)
        elif selectNum == '3':
            fn = input("Input a filename: ")
            file.delectFile(fn)
        elif selectNum == '4':
            break;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值