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中没有本质区别. 但是由于 \ 也是转义字符的起始字符, 所以, 路径中的 \ 通常需要使用 ...
随机推荐
- 臭名远扬之 goto 语句
C 语言自学之 goto 语句 Dome1:以下程序实现从控制台输出1-10,使用goto语句,实现当输出完3之后跳出循环体. 1 #include <stdio.h> 2 3 int m ...
- 使用 for 循环 打印 9X9乘法表
C 语言自学之99乘法表 请使用for循环,倒序打印9*9乘法表 1 #include <stdio.h> 2 3 int main() 4 { 5 int i,j,result;//定义 ...
- 如何构建 Apache DolphinScheduler 的 Docker 镜像
继昨日发布第一个 [官方 Docker 镜像] 后,有几位小伙伴私信想自己进行编译,这里也将 Docker 的主要贡献者文禾同学整理的文档进行分享.以下是全文内容: 您能够在类 Unix 系统和 Wi ...
- 如何成为一名合格的Apache项目Committer,参与Apache开源贡献的正确姿势
近日,孙金城老师在 "Open Source Promotion Plan - Summer 2020" 开源软件供应链点亮计划做了<如何成为一名合格的Apache项目Com ...
- RocketMQ保姆级教程
大家好,我是三友~~ 上周花了一点时间从头到尾.从无到有地搭建了一套RocketMQ的环境,觉得还挺easy的,所以就写篇文章分享给大家. 整篇文章可以大致分为三个部分,第一部分属于一些核心概念和工作 ...
- RabbitMQ 入门系列:5、基础编码:交换机的进阶介绍及编码方式。
系列目录 RabbitMQ 入门系列:1.MQ的应用场景的选择与RabbitMQ安装. RabbitMQ 入门系列:2.基础含义:链接.通道.队列.交换机. RabbitMQ 入门系列:3.基础含义: ...
- 对DDD使用的一些建议
群里经常看到类似于"看了DDD之后就不会写代码了"的情况,趁最近学车的间隙,写写我的看法. 关于这个事儿,我是觉得:当没有DDD的时候,如果你知道怎么做,那就那么做好了,不要考虑D ...
- P7727 风暴之眼 Eye of the Storm (树形 DP)
谨 以 此 文 表 达 笔 者 个 人 观 点 , 如 有 冒 犯 官 解 , 可 在 评 论 区 诉 说 _{^{_{谨以此文表达笔者个人观点,如有冒犯官解,可在评论区诉说}}} 谨以此文表达笔者个 ...
- 【SwiftUI】学习笔记1-创建第一个iOS应用
本系列将会开发大量实际的项目. 系列为本人学习笔记,资料:<SwiftUI自学成长笔记>-刘铭 资源源代码下载资源:可以在gitee上下载,搜索刘铭即可. 第一章:创建项目 也可以在菜单栏 ...
- javaweb-thymeleaf,加载jar包---视图基础
1.加载完thymeleaf的jar包 将thymeleaf的jar包复制到项目下lib文件夹中 右击lib文件夹,点击Add as librarb... 打开Project Structure,找到 ...