python和C语言从路径中获取文件名
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语言从路径中获取文件名的更多相关文章
- 3种Java从文件路径中获取文件名的方法
package test; import java.io.File; public class FileName { /** * @param args */ public static void m ...
- Bash从路径中获取文件名
#!/bin/bash basename /etc/hosts
- Java从文件路径中获取文件名的几种方法
举例:String fName =" G:\Java_Source\navigation_tigra_menu\demo1\img\lev1_arrow.gif " 方法一: 1 ...
- C#路径中获取文件全路径、目录、扩展名、文件名称
C#路径中获取文件全路径.目录.扩展名.文件名称常用函数 需要引用System.IO 直接可以调用Path的静态方法 class Program { static void Main(string[] ...
- Python开发【笔记】:从海量文件的目录中获取文件名--方法性能对比
Python获取文件名的方法性能对比 前言:平常在python中从文件夹中获取文件名的简单方法 os.system('ll /data/') 但是当文件夹中含有巨量文件时,这种方式完全是行不通 ...
- Java获取路径中的文件名(正则表达式)
Java获取路径中的文件名(正则表达式) 目标 在这个路径中我想得到model2 /E:/2017-02-21--SoftWare/github/test/Java/poiDemo_word2exce ...
- 【转】C#路径中获取文件全路径、目录、扩展名、文件名称
C#路径中获取文件全路径.目录.扩展名.文件名称 原文链接:https://www.cnblogs.com/JiYF/p/6879139.html 常用函数 需要引用System.IO 直接可以调 ...
- angularjs 文件下载 并 从response header中获取文件名
最近在做一个下载文件的功能,后台接口给的是二进制流的方式,那么前端要把二进制流下载下来. 这个过程使用$http的get请求,使用Blob接收,倒是没有难度,主要是遇到了,后台的文件名拿不到 的问题. ...
- C语言文件路径中的”/“和“\“
在不同系统的情况系 windows下是\,linux和unix下是/ 但在win中没有本质区别. 但是由于 \ 也是转义字符的起始字符, 所以, 路径中的 \ 通常需要使用 ...
随机推荐
- 就在明天,Apache DolphinScheduler Meetup 2021 如约而至!
点击上方 蓝字关注我们 社区的小伙伴们,Apache DolphinScheduler Meetup 2021 如约而至,就在明天,等你来玩! 在此次 Meetup 线上直播中,不仅将有来自 Bigo ...
- Apache DolphinScheduler 使用文档(8/8):附录
本文章经授权转载,原文链接: https://blog.csdn.net/MiaoSO/article/details/104770720 目录 附录.队列管理 附录.令牌管理 附录.队列管理 Q : ...
- CLIP:多模态领域革命者
CLIP:多模态领域革命者 当前的内容是梳理<Transformer视觉系列遨游>系列过程中引申出来的.目前最近在AI作画这个领域 Transformer 火的一塌糊涂,AI画画效果从18 ...
- Canvas 线性图形(三):曲线
前言 画曲线要用到二次贝塞尔曲线或三次贝塞尔曲线.贝塞尔曲线是计算机图形学中相当重要的参数曲线,在一些比较成熟的位图软件中也有贝塞尔曲线工具,如 PhotoShop. 二次贝塞尔曲线 二次贝塞尔曲线在 ...
- Shell 脚本报错 line x: [xxx: command not found
[root@VM-0-6-centos sh_scripts]# bash val.sh username: hello world! val.sh: line 5: [hello: command ...
- 如何给 Flutter 有状态组件(StatefulWidget)传参?
定义好一个有状态(或无状态)的组件之后,需要为其传递一些参数,希望组件能够更加灵活使用.那么,在 Flutter 中如何为其传递参数呢? 以下是 StatefulWidget 传递值的步骤,一共三步: ...
- 给定字符串定义char *a = “I love China!”,读入整数n,输出在进行了a = a + n这个赋值操作以后字符指针a对应的字符串
include<stdio.h> include<string.h> int main() { const char *a="I love China!"; ...
- 餐饮行业SRM案例:方正璞华"采云链"携手和府捞面
方正璞华在与和府捞面的项目中,帮助整合采购系统,系统化管理供应商,优化采购流程和数据分析,建立储备知识库. 项目背景 企业介绍 ◇ 和府捞面成立于2012年,是国内中式面食头部品牌.自2013年首 ...
- Svelte Ui Admin后台管理系统|svelte3+svelteUI中后台前端解决方案
基于svelte3.x+svelteKit+svelte-ui网页后台管理系统SvelteAdmin. Svelte-Ui-Admin 基于svelte3.x+svelteKit+vite3+echa ...
- Java SE note1
1.数据类型 基本类型 低------------------------------------------------->高 byte,short,char -> int -> ...