python列出所有文件名,Python搜索目录,列出文件的基本名称,无扩展名

I was wondering if there was anyway I could modify my code to only post the basename of the file, instead of the entire file including the extension.. I'm new to python, so I don't know much, and I don't want to modify something and have it completely break.

import glob

import os

os.chdir( "C:/headers" )

txt = open( 'C:/files.txt', 'w' )

for file in glob.glob( "*.h" ):

with open( file ) as f:

contents = f.read()

if 'struct' in contents:

txt.write( "%s\n"%file )

txt.close()

Basically, what it does is search through a directory of header files, and if it has the struct string in the file, it'll print the files in a txt file. However, when I run it, the txt file opens with all the files listed, but I want it to only list the basename of the file, I don't need the .h at the end of it.

Please help, thank you!

解决方案

Perhaps this will help:

import glob

import os

import re

os.chdir( "C:/headers" )

txt = open( 'C:/files.txt', 'w' )

for file in glob.glob( "*.h" ):

with open( file ) as f:

contents = f.read() [...]

if 'struct' in contents:

txt.write( "%s\n"% re.sub('\.h$', '', file) )

txt.close()

Good luck!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值