1.Python

import os
file_name = os.path.basename(filepath)#带后缀的文件名(不含路径)
file_name_NoExtension = os.path.basename(filepath).split('.')[0]#不带后缀的文件名(此方法不适用于文件名含多个点号的文件)
extension_name = os.path.splitext(filepath)[-1]#后缀

2.C语言

#include<stdio.h>
#include<string.h>
char* get_name(char* path, int choice)
{
char pure_file_name[100],file_name[100],extension_name[100];
int i,j,flag = 0;
int len = strlen(path); //取字符串长度
////////////////////////获取后缀名 //////////////////
for(i=len-1; i>=0; i--)
if(path[i] == '.'){ //找到最后一个点号
strcpy(extension_name,&path[i+1]);//获取后缀名
break;
}
/////////////////////获取文件名(不含路径,含后缀)////////////////////////
for(i=len-1; i>=0; i--)
if(path[i] == '\\'){ //找到最后一个斜杠
strcpy(file_name,&path[i+1]);//获取文件名(不含路径,含后缀)
break;
}
printf("extension_name:%s\n",extension_name);
printf("file_name:%s\n",file_name);
/////////////////////////获取纯文件名(不含路径和后缀)////////////////////////////////
for(i=len-1; i>=0; i--){
if(path[i] == '.' && !flag){
j = i; //记录最后一个点号位置
flag = 1;
}
if(path[i] == '\\'){ //找到最后一个斜杠
strncpy(pure_file_name,path+i+1,j-i-1);//获取纯文件名(不含路径和后缀)
break;
}
} printf("pure_file_name:%s\n",pure_file_name);
switch(choice){
case 1:
return file_name;//文件名(不含路径,含后缀)
case 2:
return pure_file_name;//纯文件名(不含路径和后缀)
case 3:
return extension_name;//后缀
default:
return "choice error!";
}
} int main(){
char* get_name(char *path, int choice);
char* name = get_name("C:\\Users\\cjk\\desktop\\1.txt", 1);
printf("%s\n",name);
return 0;
}

python和C语言从路径中获取文件名的更多相关文章

  1. 3种Java从文件路径中获取文件名的方法

    package test; import java.io.File; public class FileName { /** * @param args */ public static void m ...

  2. Bash从路径中获取文件名

    #!/bin/bash basename /etc/hosts

  3. Java从文件路径中获取文件名的几种方法

    举例:String fName =" G:\Java_Source\navigation_tigra_menu\demo1\img\lev1_arrow.gif " 方法一: 1 ...

  4. C#路径中获取文件全路径、目录、扩展名、文件名称

    C#路径中获取文件全路径.目录.扩展名.文件名称常用函数 需要引用System.IO 直接可以调用Path的静态方法 class Program { static void Main(string[] ...

  5. Python开发【笔记】:从海量文件的目录中获取文件名--方法性能对比

    Python获取文件名的方法性能对比 前言:平常在python中从文件夹中获取文件名的简单方法   os.system('ll /data/')   但是当文件夹中含有巨量文件时,这种方式完全是行不通 ...

  6. Java获取路径中的文件名(正则表达式)

    Java获取路径中的文件名(正则表达式) 目标 在这个路径中我想得到model2 /E:/2017-02-21--SoftWare/github/test/Java/poiDemo_word2exce ...

  7. 【转】C#路径中获取文件全路径、目录、扩展名、文件名称

    C#路径中获取文件全路径.目录.扩展名.文件名称 原文链接:https://www.cnblogs.com/JiYF/p/6879139.html 常用函数 需要引用System.IO   直接可以调 ...

  8. angularjs 文件下载 并 从response header中获取文件名

    最近在做一个下载文件的功能,后台接口给的是二进制流的方式,那么前端要把二进制流下载下来. 这个过程使用$http的get请求,使用Blob接收,倒是没有难度,主要是遇到了,后台的文件名拿不到 的问题. ...

  9. C语言文件路径中的”/“和“\“

    在不同系统的情况系   windows下是\,linux和unix下是/  但在win中没有本质区别. 但是由于   \   也是转义字符的起始字符,  所以, 路径中的   \   通常需要使用   ...

随机推荐

  1. ASP.NET Core依赖注入系统学习教程:关于服务注册使用到的方法

    在.NET Core的依赖注入框架中,服务注册的信息将会被封装成ServiceDescriptor对象,而这些对象都会存储在IServiceCollection接口类型表示的集合中,另外,IServi ...

  2. Java 断点下载(下载续传)服务端及客户端(Android)代码

    原文: Java 断点下载(下载续传)服务端及客户端(Android)代码 - Stars-One的杂货小窝 最近在研究断点下载(下载续传)的功能,此功能需要服务端和客户端进行对接编写,本篇也是记录一 ...

  3. 记一次有意思的 SQL 实现 → 分组后取每组的第一条记录

    开心一刻 今天,朋友气冲冲的走到我面前 朋友:我不是谈了个女朋友,谈了三个月嘛,昨天我偷看她手机,你猜她给我备注什么 我:备注什么? 朋友:舔狗 2 号! 我一听,气就上来了,说道:走,找她去,这婆娘 ...

  4. Spring 源码学习笔记11——Spring事务

    Spring 源码学习笔记11--Spring事务 Spring事务是基于Spring Aop的扩展 AOP的知识参见<Spring 源码学习笔记10--Spring AOP> 图片参考了 ...

  5. KingbaseES 局部索引

    一个列要不要建立btree索引,判断条件是其键值分布是否够离散,比如主键.唯一键,可以建立索引.如果这个列有大量重复的值,则建立索引没有意义. 在生产环境中常会碰到键值分布不均匀的列,如表t1有一个名 ...

  6. 手写tomcat——概述

    1. 使用java 编写一个echo http服务器 使用java 编写一个echo http服务器 https://github.com/ZhongJinHacker/diy-tomcat/tree ...

  7. 在工作组的环境中配置Windows 2012 R2的远程桌面服务

    在工作组的环境中配置Windows 2012 R2的远程桌面服务 How to configure Remote Desktop Service in Windows 2012 R2 workgrou ...

  8. 视频结构化 AI 推理流程

    「视频结构化」是一种 AI 落地的工程化实现,目的是把 AI 模型推理流程能够一般化.它输入视频,输出结构化数据,将结果给到业务系统去形成某些行业的解决方案. 换个角度,如果你想用摄像头来实现某些智能 ...

  9. proxysql 开启http监控页面的方法

    update global_variables set variable_value='true' where variable_name='admin-web_enabled'; LOAD ADMI ...

  10. Elasticsearch: rollover API

    rollover使您可以根据索引大小,文档数或使用期限自动过渡到新索引. 当rollover触发后,将创建新索引,写别名(write alias)将更新为指向新索引,所有后续更新都将写入新索引. 对于 ...