Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >需要使用os.walk()指定特定文件的路径

需要使用os.walk()指定特定文件的路径
EN

Stack Overflow用户
提问于 2013-05-09 15:25:33
回答 3查看 74.7K关注 0票数 39

我在试着进行一些地理处理。我的任务是找到一个目录中的所有shapefile,然后在该目录中找到该shapefile的完整路径名。我可以获取shapefile的名称,但我不知道如何获取该shapefile的完整路径名。

代码语言:javascript
运行
AI代码解释
复制
shpfiles = []
for path, subdirs, files in os.walk(path):
    for x in files:
        if x.endswith(".shp") == True:
            shpfiles.append[x]
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-05-09 15:27:48

os.walk提供目录的路径作为循环中的第一个值,只需使用os.path.join()创建完整的文件名:

代码语言:javascript
运行
AI代码解释
复制
shpfiles = []
for dirpath, subdirs, files in os.walk(path):
    for x in files:
        if x.endswith(".shp"):
            shpfiles.append(os.path.join(dirpath, x))

我将循环中的path重命名为dirpath,以避免与您已经传递给os.walk()path变量冲突。

请注意,您不需要测试.endswith() == True的结果;if已经为您完成了测试,== True部分是完全多余的。

您可以使用.extend()和生成器表达式来使上面的代码更紧凑:

代码语言:javascript
运行
AI代码解释
复制
shpfiles = []
for dirpath, subdirs, files in os.walk(path):
    shpfiles.extend(os.path.join(dirpath, x) for x in files if x.endswith(".shp"))

或者甚至作为一个列表理解:

代码语言:javascript
运行
AI代码解释
复制
shpfiles = [os.path.join(d, x)
            for d, dirs, files in os.walk(path)
            for x in files if x.endswith(".shp")]
票数 94
EN

Stack Overflow用户

发布于 2013-05-09 15:31:41

看起来os.path.abspath(finename)可以工作了。请试一试。

代码语言:javascript
运行
AI代码解释
复制
shpfiles = []
for path, subdirs, files in os.walk(path):
    for x in files:
        if x.endswith(".shp") == True:
            shpfiles.append(os.path.join(path, x))
票数 0
EN

Stack Overflow用户

发布于 2013-05-09 15:36:17

为什么不是import glob呢?

代码语言:javascript
运行
AI代码解释
复制
import glob 

print(glob.glob('F:\OTHERS\PHOTOS\Panama\\mai13*\\*.jpg') )

我得到了我想要的所有jpeg,绝对路径

代码语言:javascript
运行
AI代码解释
复制
>>> 
['F:\\OTHERS\\PHOTOS\\Panama\\mai13\\03052013271.jpg', 
'F:\\OTHERS\\PHOTOS\\Panama\\mai13\\05052013272.jpg', 
'F:\\OTHERS\\PHOTOS\\Panama\\mai13\\05052013273.jpg']
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16465399

复制
相关文章
iOS动画-CALayer隐式动画原理与特性
Core Animation的一个非常显著的特性是就是实现动画,而且它支持隐式动画和显式动画两种形式,本篇我们主要从隐式动画说起;
梧雨北辰
2019/04/25
4.7K0
iOS动画-CALayer隐式动画原理与特性
iOS动画-CALayer基础知识
核心动画Core Animation,其实是由Layer Kit这样一个名字演变而来。它实际上是一个复合引擎,可以将存储在图层树体系中的不同独立图层,尽可能快地组合成不同的可视内容呈现于屏幕上;所以做动画只是Core Animation的特性之一;
梧雨北辰
2019/04/22
1.9K0
iOS动画-CALayer基础知识
iOS动画系列之一:带时分秒指针的时钟动画(上)1. 最终实现的效果以及思维导图2. CALayer3. 隐式动画
1. 最终实现的效果以及思维导图 实现的效果。不小心暴露了写文章的时间。-_-+++ 实现效果 实现的步骤思维导图: 思维导图.png 2. CALayer 其实今天分享的主角是CALayer。因为所
stanbai
2018/06/28
2.1K0
【Flutter 专题】71 图解基本隐式动画 Widget
和尚前段时间自定义 ACEStepper 步进器时,在 ACEStep 中尝试过 AnimatedCrossFade 用于在两个 Widget 切换过度,简单实用,今天和尚重点学习一下并尝试相关隐式动画 Widget;
阿策小和尚
2019/12/30
8260
【Flutter 专题】71 图解基本隐式动画 Widget
php隐式转换,隐式转换如何使用?总结隐式转换实例用法「建议收藏」
JavaScript的数据类型分为六种,分别为null,undefined,boolean,string,number,object。object是引用类型,其它的五种是基本类型或者是原始类型。我们可以用typeof方法打印来某个是属于哪个类型的。不同类型的变量比较要先转类型,叫做类型转换,类型转换也叫隐式转换。隐式转换通常发生在运算符加减乘除,等于,还有小于,大于等。。typeof ’11’ //string
全栈程序员站长
2022/11/10
1.7K0
php隐式转换,隐式转换如何使用?总结隐式转换实例用法「建议收藏」
iOS-核心动画详解之CALayer
1. CALayer的基本操作. 1. CALayer简介: CALayer我们又称为层,在每个UIView内部都有一个layer的属性,UIView之所以能够显示,就是因为它里面有layer层,才具有显示的功能,我们通过操作CALayer对象,可以很方便地调整UIView的一些外观属性,例如可以给UIView设置阴影,圆角,边框等等... 2. 操作layer改变UIView外观. 2.1 设置阴影 //默认图层是有阴影的, 只不过是透明的。1为不透明,0为透明 _RedView.layer.sha
xx_Cc
2018/05/10
2K0
如何找到隐式转换的SQL?
我们知道,隐式转换是在开发过程中非常容易进的一种坑,最常见的就是程序中传参类型和数据库表中定义的字段类型不一致,隐患就是不能用到隐式转换字段上的索引,原先能使用索引的语句,却使用了全表,影响执行性能。
bisal
2021/09/06
1.1K0
position和anchorPoint
本人录制技术视频地址: https://edu.csdn.net/lecturer/1899 欢迎观看。 一、理论概述
全栈程序员站长
2022/11/08
5400
如何实现隐式类型转换
Result 类型是许多编程语言中处理错误的常用方式,包括 C# 的 dotNext 库。在本文中,我们将通过例子回顾 C# 中 using 语句和隐式类型转换的使用。
newbe36524
2023/08/23
1840
Core Animation总结
众所周知,绚丽动画效果是iOS系统的一大特点,通过UIView层封装的动画,基本可以满足我们应用开发的所有需求,但若需要更加自由的控制动画的展示,我们就需要使用CoreAnimation框架中的一些类与方法
iOSSir
2019/05/21
1.3K0
iOS动画-CALayer布局属性详解
本篇主要内容: 1.Frame与Bounds的区别 2.中心点(position)与锚点(anchorPoint) 3.视图与图层的坐标系
梧雨北辰
2019/04/23
2.3K0
iOS动画-CALayer布局属性详解
mysql 隐式类型转换_scala的隐式转换
在mysql查询中,当查询条件左右两侧类型不匹配的时候会发生隐式转换,可能导致查询无法使用索引。下面分析两种隐式转换的情况
全栈程序员站长
2022/11/07
1.9K0
mysql 隐式类型转换_scala的隐式转换
iOS面试题:UIView block动画实现原理
在了解UIView block动画实现原理之前,需要先了解CALayer的可动画属性。
猿_人类
2019/07/03
1.1K0
iOS面试题:UIView block动画实现原理
Amesp中隐式溶剂模型的使用
在量子化学计算中,往往需要计算分子在溶液中的性质,这就需要使用到溶剂模型,其主要分为显式溶剂模型和隐式溶剂模型。显式溶剂模型是将具体的溶剂分子排布在溶质分子周围进行计算,耗时较高。而隐式溶剂模型不需要具体的溶剂分子以及其排布方式,只是将溶剂简单地使用一个可极化的连续介质来描述,这种方式耗时不高,且能很容易表现出溶剂的平均效应,因此被大多数量子化学软件广泛采用。
用户7592569
2023/09/03
5320
Amesp中隐式溶剂模型的使用
javascript 隐式转换_mysql隐式转换
简单数据类型(也称为原始类型):Undefined、Null、Boolean、Number、String 和 Symbol。ES6 中新增了一种 Symbol 。这种类型的对象永不相等,即始创建的时候传入相同的值,可以解决属性名冲突的问题,做为标记。 复杂数据类型叫 Object(对象)。Object 是一种无序名值对的集合。
全栈程序员站长
2022/11/07
1.6K0
javascript 隐式转换_mysql隐式转换
MySQL中需要重视的隐式转换
在系统集成,对接的过程中,很多时候我们都会忽略数据类型的兼容性,导致在系统运转起来的时候,原本正常的流程会容易堵塞,其中一个潜在的原因就是因为数据隐式转换带来的额外代价,为了模拟这个问题,我们使用如下的方式创建表 test,分别指定列name为varchar和int类型,来对比查看隐式转换带来的性能问题。
jeanron100
2019/06/04
1K0
iOS学习——核心动画之Layer基础
CALayer我们又称它叫做层。在每个UIView内部都有一个layer这样一个属性,UIView之所以能够显示,就是因为它里面有这个layer才具有显示的功能。我们可以通过操作CALayer对象,可以很方便地调整UIView的一些外观属性,可以给UIView设置阴影,圆角,边框等等...
mukekeheart
2018/08/01
1.6K0
iOS学习——核心动画之Layer基础
隐式Intent
button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent(“com.example.shaomiao.testintent.intent.action.TestActivity”); startActivity(intent); } });
tea9
2022/07/15
5330
隐式Intent
Scala 【 14 隐式转换与隐式参数 】
​ Scala 的隐式转换,其实最核心的就是定义隐式转换函数,即 implicit conversion function 。
Lokinli
2023/03/09
8280
JS隐式转换_隐式转换是什么
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/10
1.9K0

相似问题

如何使用Amazon更新DynamoDB全局辅助索引?

21

如何使用全局辅助索引创建表dynamodb

20

dynastyjs:如何使用辅助全局索引查找项目

112

如果分区键相同,DynamoDB本地辅助索引与全局辅助索引之间是否存在差异?

10

查询DynamoDb全局辅助索引

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文