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. .NET 7 发布的最后一个预览版Preview 7, 下个月发布RC

    微软在2022年8月9日 发布了.NET 7 Preview 7[1],这是它在11月10日 RTM 之前进入发布候选阶段之前的最后预览版. 预览版 7 已在 Visual Studio 17.4 预 ...

  2. Vue3 Transition 过渡效果之切换路由组件

    复习作用域插槽 组件可以被插入些许节点作为其子节点,插槽<slot>就是一个接口(或桥梁)引导这些节点进入组件.这些节点应该被渲染到组件里的具体哪个位置,就是具名插槽的作用.就像是给手机冲 ...

  3. 2步就可以压缩PPT大小,再也不怕C盘飘红了!

    在座哪位小朋友的C盘已经红了,举个手让我看看! 嗯......还真不少啊! 经常做PPT的同学已经开始抱怨了:领导给的图片一张就10M起,一个PPT里面百来张图,文件大小都快1个G了. 如果是文秘岗, ...

  4. 实时降噪(Real-time Denoising):Spatio-Temporal Filtering

    目录 空间滤波(Spatial Filtering) 基于距离的高斯滤波 双边滤波(Bilateral filtering) 联合双边滤波(Joint Bilateral filtering)[201 ...

  5. 一次较波折的MySQL调优

    春节长假某日,阳光明媚,春暖花开,恰逢冬奥会开幕,想着一定是一个黄道吉日,必能顺风顺水.没想到却遇到一个有点小波折 的客户报障. 01故障起因 故障起因是客户前一天从自建MySQL迁移到云上RDS,在 ...

  6. 第三十九篇:Vue3 watch(ref和reactive的监视)

    好家伙, 1.vue2中的watch是调用配置项,(只能写一个) vue3中的watch是一个函数(可以写很多个) 2.watch一些用法: 这里是定义的数据 set up(){ let sum =r ...

  7. JVM之HotSpot虚拟机是如何发起内存回收的? 转载

    1.背景 在上一节中,我们掌握了垃圾收集的一些算法,也弄明白了分代回收的原理, 那么HotSpot虚拟机是如何发起内存回收的? 2.如何找到GC Roots根节点(枚举根节点) 从可达性分析中GC R ...

  8. gem5 使用记录,对例子中helloobject的理解

    gem5中有一个 hello的例子,不是hello world那个,在src/learning-gem5/part2里面,这是虽然是个简单的例子但包含的要素挺多挺全. 整个结构是src下面有一个hel ...

  9. Java 多线程:锁(三)

    Java 多线程:锁(三) 作者:Grey 原文地址: 博客园:Java 多线程:锁(三) CSDN:Java 多线程:锁(三) StampedLock StampedLock其实是对读写锁的一种改进 ...

  10. 坚守自主创新,璞华HawkEye IETM系统惠及国计民生

    可上九天揽月,可下五洋捉鳖,这是我们很多年的梦想.而要实现这样的梦想,不仅需要安全可靠的技术装备,还需要让这些技术装备处于良好的维保状态.于是,作为装备维保过程中必须的知识创作.管理.发布.浏览工具, ...