UbuntuPython 之道

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

2018-07-20  本文已影响161人  seniusen

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

#!/bin/bash
path=/home/senius/traindata/
cd ${path}
for file in $(ls *)
do
    echo ${path}$file >> filename.txt
done
import numpy as np
txtdatapath = '/home/senius/traindata/'
filename = np.genfromtxt(txtdatapath + 'filename.txt', dtype='str') # type:numpy.array

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

cd path
dir /b/s >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
上一篇下一篇

猜你喜欢

热点阅读