json模块下abspath()查找文件绝对路径与join()路径嫁接获取相对路径的差别

import os
n=0
def fun(file):
    global n
    fli_list=os.listdir(file)
    for i in fli_list:
        new_pa = os.path.join('%s'%file,i)
        if os.path.isdir(new_pa):
            n=fun(os.path.abspath(new_pa))
        else:
            siz = os.path.getsize(new_pa)
            n += siz
    return n
ret=fun(r'D:\py练习\神秘海螺\go\week\3\19')    
print(ret)

文件的绝对路径  os.path.abspath (path) 并非文件真实所在路径

文件的路径嫁接 os.path.join (path,file_name)  反而可以得出文件本身所在路径

判断文件是否为文件夹 os.isdir(path) 返回True/False

判断文件是否为文件 os.isfile 同上

列出文件夹下文件目录 os.listdir(path)

import os
def get_size(path):
    n = [path]
    size = 0
    while n:
        path=n.pop( )
        lst=os.listdir(path)
        for name in lst:
            son_path=os.path.join(path,name)
            if os.path.isfile(son_path):
                size+=os.path.getsize(son_path)
            else:
                n.append(son_path)
    return size
print(get_size(r'D:\py练习'))
#使用join(path,file_name)路径嫁接
import os
def get_size(path):
    n = [path]
    size = 0
    while n:
        path=n.pop( )
        lst=os.listdir(path)
        for name in lst:
            son_path=os.path.abspath(name)
            if os.path.isfile(son_path):
                size+=os.path.getsize(son_path)
            else:
                n.append(son_path)
    return size
print(get_size(r'D:\py练习'))
#使用abspath(file_name)

abspath(file_name)的结果如下:

  FileNotFoundError: [WinError 3] 系统找不到指定的路径。: 'D:\\py练习\\神秘海螺\\go\\week\\3\\26\\金山打字'

然而我磁盘中金山打字的正确位置:

  D:\py练习\金山打字

此代码所属py文件所在位置:

  D:\py练习\神秘海螺\go\week\3\26\1.py

 

转载于:https://www.cnblogs.com/lttlpp61007188/p/10575013.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值