#encoding:utf-8
importos
printos.path.abspath("test")
使用os.path.abspath方法可以输出文件夹的绝对路径。
参数里面要写相对路径,比如脚本和文件夹在同一路径,就直接写名字即可。如果文件夹在上一个目录,就写成"../test"。
其实从方法名也能看出来,是一个相对路径转绝对路径的方法。
② Python气象数据处理与绘图(12):轨迹(台风路径,寒潮路径,水汽轨迹)绘制
寒潮是笔者主要的研究方向,寒潮路径作为寒潮重要的特征,是寒潮预报的重点之一,同样的道理也适用在台风研究以及降水的水汽来源研究中。关于路径的计算以及获取方法(比如轨迹倒推,模型追踪等等方法,台风有自己现成的数据集,比如ibtracs数据集等等)并不在本文的介绍范围之内,本文主要介绍在获取了相应的路径坐标后,如何在图中美观的展现。
上图展现了近40年东北亚区域的冬季冷空气活动路径,绘制这类图需要的数据只需为每条路径的N个三维坐标点,第一第二维分别为longitude和latitudee,第三维则比较随意,根据需要选择,比如说需要体现高度,那就用高度坐标,需要体现冷空气强度,那就用温度数据,水汽可以用相对湿度,台风也可以用速度等等。
通常此类数据是由.txt(.csv)等格式存储的,读取和处理方法可参考我的“Python气象数据处理与绘图(1):数据读取”,本文主要介绍绘图部分。
当然根据需要,也可以直接绘制两维的轨迹,即取消掉颜色数组,用最简单的plot语句,循环绘制即可。
有一个陷阱需要大家注意的是,当轨迹跨越了东西半球时,即穿越了0°或者360°经线时,它的连接方式是反向绕一圈,比如下图所示,你想要蓝色的轨迹,然而很有可能得到绿色的,这是因为你的网格数组的边界是断点,系统不会自动识别最短路径,只会在数组中直接想连,因为这不是循环数组。
我目前的解决办法是这样的:如果你的数据是0°-360°格式,那么变为-180°-180°的格式,反之相互转换。但是如果你的数据两种都出现了断点,也就是绕了地球一圈多,那无论怎样都么得办法了,我目前的思路是将数据转换成极坐标数据格式,理论上是可行的,CARTOPY的绘图也是支持极坐标数据的,具体实施还需要再试试。
③ 如何使用python flask遍历一个路径中的所有文件
这个是ftp模块的
#fullname=ftp.dir() #显示目录下文件信息
#print fullname
ftp.cwd('/temp/data/') # 设置FTP路径
list = ftp.nlst() # 获得目录列表
for listtile in list
print listtile #遍历打印
这是本地的
import os
import os.path
rootdir = “d:\data” # 指明被遍历的文件夹
for parent,dirnames,filenames in os.walk(rootdir):
#三个参数:分别返回1.父目录 2.所有文件夹名字(不含路径)
3.所有文件名字
for dirname in dirnames:
#输出文件夹信息
print "parent is:" + parent
print "dirname is" + dirname
for filename in filenames:
#输出文件信息
print "parent is": + parent
print "filename is:" + filename
print "the full name of the file is:" + os.path.join(parent,filename)
#输出文件路径信息
#windows下为:d:\data\query_text\EL_00154
④ python遍历目录就是这么简单
有时我们有列出目录下都有哪些文件和子目录的需求,这种情况是有现成命令可用的,比如windows下的dir命令,linux下的ls命令都可以,那我们用python代码怎么实现呢?
我们利用python丰富的库很容易就能实现一个简易版本,下面我们就用4种方法来实现它。
一、使用os.popen
os.popen工作原理是新建一个子进程,然后用这个子进程执行命令,父进程与子进程间通过管道进行通信。
根据调用popen时的传参,我们可以通过管道读取子进程的输出也可以向子进程写数据,默认是读取子进程的输出。
从以上描述可以看出popen是非常通用的,不是只能用于我们这个例子哦。
那我们开始用它实现我们的需求吧,代码如下:
哈哈,是不是很简单,这种方式虽然能达到目的但其实并不是我们想要的,我们本来就是要实现ls的,结果调用了ls,所以严格意义上来说我们并没有实现ls,那让我们继续往下看其它方法吧,嘿嘿。
二、使用glob.glob
glob可以根据你使用的通配符对文件进行匹配,利用这个特性我们可以列出当前目录下都有哪些文件和子目录,如下代码:
三、使用os.listdir
os.listdir同样可以列出某个目录下都有哪些文件和子目录,如下代码:
四、使用os.walk
os.walk在遍历目录方面非常强大,它不但可以遍历你需要的目录,也可以递归遍历子目录且递归的深度可以用代码控制,下面让我们分别看下怎么遍历整个目录树以及怎么控制深度吧。
os.walk默认是遍历整个目录树的,如下代码就会递归打印出当前目录下所有文件:
那我们怎么控制遍历的深度,比如只遍历n层呢?其实很简单,只需要定义一个深度变量,然后到达n后跳出循环即可,如下代码就只遍历1层:
至此我们已经写完4种方法了,如果你还有其他方法,欢迎评论交流。
⑤ Python使用for循环依次打开该目录下的各文件
importos
path=r"F:Python第一周作业 ask"
otherpath=r"F:Python其它目录"
forfilenameinos.listdir(path):
print(path,filename)
fullname=os.path.join(path,filename)
ifos.path.isfile(fullname):
othername=os.path.join(otherpath,filename)
otherfile=open(othername,'wb')
forlineinopen(fullname,'rb'):
forcinline:
ifnotc.isdigit():otherfile.write(c)
otherfile.close()