如何遍历文件获取文件路径与文件名

小刘在蔚来汽车实习,今天领导提了一个需求,要爬取csv文件中的所有链接获得爬取后的文件名与文件路径
首先看看如何获得文件路径

def getfile(rootdir):
    list = os.listdir(rootdir)#列出文件夹下所有的目录与文件
    lujing=[]
    for i in range(0,len(list)):
        rootdir = r'C:\Users\xiaoLiu\Desktop\pinglun\2019-11-11'
        path = os.path.join(rootdir,list[i])
        lujing.append(path)
    df=pd.Series(lujing)
    df.to_csv('./pictureName.csv',index=False)

这样就可以获得你需要的跟目录下的所有文件路径
调用函数

if __name__ == '__main__':
    rootdir = r'C:\Users\xiaoLiu\Desktop\pinglun\2019-11-11'
    getfile(rootdir)

结果看一下
在这里插入图片描述
路径有了接下来看文件名

import os  
  
def file_name(file_dir):   
    for root, dirs, files in os.walk(file_dir):  
        print(root) #当前目录路径  
        print(dirs) #当前路径下所有子目录  
        print(files) #当前路径下所有非目录子文件  

这样就可以获取到具体的文件名,而不是全部目录

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用以下方法来根据文件名获取文件路径: 1. 遍设备上的文件系统,搜索匹配的文件名。 ```java public String getFilePathByFileName(String fileName) { File rootDir = Environment.getExternalStorageDirectory(); // 获取外部存储根目录 String filePath = searchFile(rootDir, fileName); return filePath; } private String searchFile(File file, String fileName) { if (file.isDirectory()) { File[] files = file.listFiles(); if (files != null) { for (File child : files) { String filePath = searchFile(child, fileName); if (filePath != null) { return filePath; } } } } else { if (file.getName().equals(fileName)) { return file.getAbsolutePath(); } } return null; } ``` 2. 使用 ContentResolver 查询匹配的文件。 ```java public String getFilePathByFileName(String fileName, Context context) { Uri uri = MediaStore.Files.getContentUri("external"); String[] projection = {MediaStore.Files.FileColumns.DATA}; String selection = MediaStore.Files.FileColumns.DISPLAY_NAME + "=?"; String[] selectionArgs = {fileName}; Cursor cursor = context.getContentResolver().query(uri, projection, selection, selectionArgs, null); if (cursor != null && cursor.moveToFirst()) { int columnIndex = cursor.getColumnIndex(MediaStore.Files.FileColumns.DATA); String filePath = cursor.getString(columnIndex); cursor.close(); return filePath; } return null; } ``` 这两种方法分别通过遍文件系统和查询 ContentResolver 来获取文件路径。注意,在使用这些方法之前,确保你已经获取了相应的权限,例如读取外部存储的权限。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值