获取某一文件夹下所有文件名的四种方法

1. Ubuntu 下用 Shell 生成文件名到 TXT 中,然后再读入到程序中

#!/bin/bash
path=/home/senius/traindata/
cd ${path}
for file in $(ls *)
do
    echo ${path}$file >> filename.txt
done
  • 将 path 更改为需要的路径后运行,即可在该路径下得到一个名为 filename.txt 的文件。
import numpy as np
txtdatapath = '/home/senius/traindata/'
filename = np.genfromtxt(txtdatapath + 'filename.txt', dtype='str') # type:numpy.array
  • 然后再通过 Numpy 读入 TXT 到数组中。

2. Windows 下用命令行生成文件名到 TXT 中,然后再读入到程序中

  • 打开 Windows 命令行管理器
cd path
dir /b/s >filename.txt
  • 运行以上命令,即可在该路径下得到一个名为 filename.txt 的文件,读入方法同上。此命令生成的文件中会包括 filename.txt 本身,需要注意!

3. 利用 Python 的 os 模块函数 os.listdir()

import os
path = '/home/senius/Downloads/BSD68/'
os.chdir(path)
filenames = os.listdir()
for i in range(len(filename)):
    filenames[i] = path + filenames[i]

filenames = sorted(filenames) # sort the filenames in dictionary order
# type:list

以上三种方法只适用于文件夹下面只有文件没有子文件夹,下面的第四种方法无此限制!

4. 利用 Python 的 os 模块函数 os.walk()

import os
path = '/home/senius/Downloads/BSD68/'
filenames = []
# 递归返回根目录名、根目录下的目录名和根目录下的文件名
for root, dirs, files in os.walk(path):
    for filename in files:
        filenames.append(os.path.join(root, filename))

filenames = sorted(filenames) # sort the filenames in dictionary order
# type:list

获取更多精彩,请关注「seniusen」!
seniusen

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值