python获取文件路径、文件夹内所有文件

python获取文件路径、文件夹内所有文件名字

项目内相对路径
在test12.py内
在这里插入图片描述想获取其所在文件夹的所有的表格文件
在这里插入图片描述windows

第一种方案

"""获取路径"""
def list_dir(file_dir):
'''
    通过 listdir 得到的是仅当前路径下的文件名,不包括子目录中的文件,如果需要得到所有文件需要递归
'''
print('\n\n<><><><><><> listdir <><><><><><>')
print ("current dir : {0}".format(file_dir))
dir_list = os.listdir(file_dir)
for cur_file in dir_list:
    # 获取文件的绝对路径
    path = os.path.join(file_dir, cur_file)
    # if os.path.isfile(path): # 判断是否是文件还是目录需要用绝对路径
        # print ("{0} : is file!".format(cur_file))
    print(cur_file)
    # if os.path.isdir(path):
        # print("{0} : is dir!".format(cur_file))
        # list_dir(path) # 递归子目录


# path=r'C:\\Users\wen\Desktop\pisx_git\B2020931-PX-GWC-Services\rdsystem\jiaoben\bk'
path=r'..\bk'
list_dir(path)
# os.listdir(path)

第二种方案

"""获取文件夹下的所有文件"""

for f_path, dir_name, f_names in os.walk(r'../bk'):
print(f_path)
print(dir_name)
print(f_names)

Linux

#获取路径
dirinfo = 'rdsystem/jiaoben/bk/'
#生成文件
filenames = str(uuid.uuid1()) + '.docx'

扩展:
1.生成word文件并生成数据流返给前端

dirinfo = 'graphsystem/files/'
filenames = str(uuid.uuid1()) + '.docx'
resume_path = dirinfo + filenames
# resume_path = dirinfo + '%s.docx' % info[1]
document.save(resume_path)
file = open(resume_path, mode='rb')
response = FileResponse(file)
response['Content-Type'] = 'application/octet-stream'
response['Content-Disposition'] = 'attachment;filename=down_resume.docx'
os.remove(resume_path)
return response

2.word转pdf文件生成数据流返给前端

Wpx2Pdf.all2pdf(resume_path, dirinfo)
pdfile1 = filenames.replace(os.path.splitext(filenames)[-1], '.pdf')
pdf_file = dirinfo + pdfile1
if os.path.exists(dirinfo + pdfile1):
    file = open(pdf_file, mode='rb')
    response = FileResponse(file)
    response['Content-Type'] = 'application/octet-stream'
    response['Content-Disposition'] = 'attachment;filename=down_resume.pdf'
    os.remove(pdf_file)
    os.remove(resume_path)
    return response

Wpx2Pdf源码:python将所有格式的office文件转化为pdf

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值