Python os.walk() 不适用于路径中的波浪号 ~

标签 python linux operating-system os.walk tilde

我正在尝试计算目录和子目录中的文件数量,它将用于许多我事先不知道的用户,所以我想在路径中使用“~”波浪号。但是当我执行以下操作时,python 不会返回任何内容:

import os 

for root, dirs, files in os.walk("~/direcotry/sub_directory", topdown=True):
    for name in dirs:
        print(os.path.join(root, name))

    total += len(files)

print(f"Total number of files in directory is:{total}")

最佳答案

使用上面的回复,代码现在的工作方式如下:

import os 

exapnded_dir = os.path.expanduser('~/direcotry/sub_directory')
for root, dirs, files in os.walk(exapnded_dir, topdown=True):
    for name in dirs:
        print(os.path.join(root, name))

    total += len(files)

print(f"Total number of files in directory is:{total}")

关于Python os.walk() 不适用于路径中的波浪号 ~,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68754431/

相关文章:

python - 如何从 Qt Designer 导入 UI

python - 如何在 Django Rest Framework 中批量删除实例?

linux - 如何以编程方式创建视频?

c - 使用系统调用的 I/O

linux - Windows/Linux x64 如何确定上次访问内存页的时间?

python - python客户端boto请求的远程签名

python - 评估来自 'untrusted' 用户的算法

linux - Docker 卷将文件绑定(bind)为远程 linux 服务器上的目录

php - 无法打开流 : Permission denied in/opt/lampp/htdocs

linux - 如何休眠虚拟机并在新计算机上启动它而不丢失进程状态?