1.

  当"print os.path.dirname(__file__)"所在脚本是以完整路径被运行的, 那么将输出该脚本所在的完整路径,比如:

python d:/pythonSrc/test/test.py

那么将输出 d:/pythonSrc/test

当"print os.path.dirname(__file__)"所在脚本是以相对路径被运行的, 那么将输出空目录,比如:

python test.py

那么将输出空字符串

2、想测试一行代码的运行时间,在python中比较方便,可以直接使用timeit:

  >>> import timeit

  #执行命令

  >>> t2 = timeit.Timer('x=range(1000)')

  #显示时间

  >>> t2.timeit()  10.620039563513103

  #执行命令

  >>> t1 = timeit.Timer('sum(x)', 'x = (i for i in range(1000))')

  #显示时间

  >>> t1.timeit()  0.1881566039438201

3、

编程语言在实际使用中可以帮助我们轻松的实现一些特殊的功能需求。在这里我们将会为大家详细介绍一下有关Python文件路径的相关操作技巧,从而方便我们在实际开发中获得一些帮助。

Python文件路径操作方法之1: os.listdir(path) //path为目录

功能相当于在path目录下执行dir命令,返回为list类型。举例:

  1. print os.listdir(’..’)

输出:

  1. [a,b,c,d]

Python文件路径操作方法之2: os.path.walk(path,visit,arg)

path :是将要遍历的目录

visit :是一个函数指针,函数圆形为:

  1. callback(arg,dir,fileList)

其中arg为为传给walk的arg , dir是path下的一个目录,fileList为dir下的文件和目录组成的list

arg:传给visit用的,对walk没有什么作用

举例:

  1. def callback(arg,directory, files):
  2. print directory,
  3. print files,
  4. print arg
  5. print ‘——————–’
  6. os.path.walk(’.',callback, ‘123456′)

输出:

  1. . ['path0704.py', 'temp', '\xc2\xb7\xbe\xb6\xcf\xe0\xb9\
    xd8\xd1\xa7\xcf\xb0.txt'] 123456
  2. ——————–
  3. .\temp ['temp.h', 'temp1'] 123456
  4. ——————–
  5. .\temp\temp1 ['abc.bmp'] 123456

如果想找到某个目录下所有文件,只需要在callback里面,在fileList中找出文件,即可

除此之外,还有一个函数可以用那就是os.walk,看10

Python文件路径操作方法之3:os.path.split(path)

path 为一个路径,输出,把path分成两部分,具体看实例:

  1. print os.path.split(”abc/de.txt”)
  2. (’abc’, ‘de.txt’)
  3. os.path.split(”abc”)
  4. (”, ‘abc’)
  5. print os.path.split(”de/abc/de”)
  6. (’de/abc’, ‘de’)

Python文件路径操作方法之4: os.path.splitext(filename)

把文件名分成文件名称和扩展名

  1. os.path.splitext(abc/abcd.txt)
  2. (’abc/abcd’, ‘.txt’)

Python文件路径操作方法之5: os.path.dirname(path)

把目录名提出来

  1. print os.path.dirname(”abc”)
  2. #输出为空
  3. print os.path.dirname(’abc\def’)
  4. abc

Python文件路径操作方法之6: os.path.basename(filename)

取得主文件名

  1. print os.path.basename(’abc’)
  2. abc
  3. print os.path.basename(’abc.txt’)
  4. abc
  5. print os.path.basename(’bcd/abc’)
  6. abc #这个需要注意不包括目录名称
  7. print os.path.basename(’.')

Python文件路径操作方法之7:os.mkdir(path, [mode])

 

path为目录名: 这里有个要求,只能创建一级目录。比如path为 abc/def 则当前目录下必须存在abc 否则失败

Python文件路径操作方法之8: os.makedirs(path [,mode])

可以创建多级目录

Python文件路径操作方法之9:os.remove(path)

删除一个文件,一定是一个文件

  1. os.removedirs(path) 删除一个目录下所有东西
  2. os.rmdir(path) 删除一个目录,而且一定要空,否则os.errer

Python文件路径操作方法之10:os.walk(path)

遍历path,返回一个对象,他的每个部分都是一个三元组(’目录x’,[目录x下的目录list],目录x下面的文件)

举例:

  1. a = os.walk(’.')
  2. for i in a:
  3. print i

输出:

    1. (’.', ['abc', 'temp'], ['path0704.py', '\xc2\xb7\xbe\xb6\xcf\
      xe0\xb9\xd8\xd1\xa7\xcf\xb0.txt'])

Python 自学积累(一)的更多相关文章

  1. Python 自学积累(二)

    1. onfigParser 模块用于操作配置文件 注:Parser汉译为“解析”之意. 配置文件的格式与windows ini文件类似,可以包含一个或多个节(section),每个节可以有多个参数( ...

  2. python自学笔记

    python自学笔记 python自学笔记 1.输出 2.输入 3.零碎 4.数据结构 4.1 list 类比于java中的数组 4.2 tuple 元祖 5.条件判断和循环 5.1 条件判断 5.2 ...

  3. Python - 自学django,上线一套资产管理系统

    一.概述 终于把公司的资产管理网站写完,并通过测试,然后上线.期间包括看视频学习.自己写前后端代码,用时两个多月.现将一些体会记录下来,希望能帮到想学django做web开发的人.大牛可以不用看了,小 ...

  4. 拎壶冲冲冲专业砸各种培训机构饭碗篇----python自学(一)

    本人一直从事运维工程师,热爱运维,所以从自学的角度站我还是以python运维为主. 一.python自学,当然少不了从hello world开始,话不多说,直接上手练习 1.这个可以学会 print( ...

  5. [Python自学] day-21 (2) (Cookie、FBV|CBV装饰器)

    一.什么是Cookie 1.什么是Cookie? Cookie是保存在客户端浏览器中的文件,其中记录了服务器让浏览器记录的一些键值对(类似字典). 当Cookie中存在数据时,浏览器在访问网站时会读取 ...

  6. [Python自学] day-21 (1) (请求信息、html模板继承与导入、自定义模板函数、自定义分页)

    一.路由映射的参数 1.映射的一般使用 在app/urls.py中,我们定义URL与视图函数之间的映射: from django.contrib import admin from django.ur ...

  7. [Python自学] day-20 (Django-ORM、Ajax)

    一.外键跨表操作(一对多) 在 [Python自学] day-19 (2) (Django-ORM) 中,我们利用外键实现了一对多的表操作. 可以利用以下方式来获取外键指向表的数据: def orm_ ...

  8. [Python自学] day-19 (2) (Django-ORM)

    一.ORM的分类 ORM一般分为两类: 1.DB first:先在DB中创建数据库.表结构,然后自动生成代码中的类.在后续操作中直接在代码中操作相应的类即可. 2.Code first:直接在代码中实 ...

  9. [Python自学] day-19 (1) (FBV和CBV、路由系统)

    一.获取表单提交的数据 在 [Python自学] day-18 (2) (MTV架构.Django框架)中,我们使用过以下方式来获取表单数据: user = request.POST.get('use ...

随机推荐

  1. Hash表的表大小

    hash表的出现主要是为了对内存中数据的快速.随机的访问.它主要有三个关键点:Hash表的大小.Hash函数.冲突的解决. 这里首先谈谈第一点:Hash表的大小. Hash表的大小一般是定长的,如果太 ...

  2. 关于Unity中的帧动画组件的编写

    一.帧动画 1: 美术准备好一个连续动作的离散图片;2: 程序在准确的时间来切换这个图片;3: 优点: 简单,速度快; 缺点:资源占用相对过大; 二.frame_anim组件编写 1: 代码里面强制要 ...

  3. 巧用JS中的join方法操作字符串

    1.将数组的元素组起一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符 /** *把数组转换成特定符号分割的字符串 */ function arrayToString(arr,s ...

  4. iOS 图片切片的简单实现

    图片切片就是将一张图片按一定比例切分,中间部分系统自动填充空白, 这样在文本多行输入的时候,将具有特定形状的图片作为背景, 即使文本行数很多,也不会使图片走形. //即使你按5/5分,还是3/7分系统 ...

  5. ali数据分析面试题

    表A结构如下 Member_ID   --用户的Id,字符型 Log_time  --用户访问页面时间,日期型(只有一天的数据) URL ---访问的页面地址,字符型 要求:提取每个用户访问的第一个U ...

  6. ms-SQL 递归调用

    ----递归函数-------------------------------------------------------------------------- create function d ...

  7. 勒布朗法则( LeBlanc)

    看<代码整洁之道>看到了一个概念:勒布朗法则. 咦?这个不是NBA中的勒布朗·詹姆斯法则,当然NBA中针对一些球星的Bug表现也制定了一系列的法则,如乔丹法则(乔丹太过于强大).奥尼尔法则 ...

  8. [转] Windows局域网通过NTP设置时间同步

    NTP(Network Time Protocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议. 如果局域网计算机(Windows系统)可以连接Internet,可以通过“控制面板”— ...

  9. NHibernate初学三之条件查询(Criteria Queries)与AspNetPager分页实例

    NHibernate除了SQL与HQL两种查询操作外,还有一种就是条件查询Criteria,本文将从网上整理一些Criteria的理论及小实例,最后通过一个结合AspNetPager分页来加深理解,必 ...

  10. hadoop程序MapReduce之WordCount

    需求:统计一个文件中所有单词出现的个数. 样板:word.log文件中有hadoop hive hbase hadoop hive 输出:hadoop 2 hive 2 hbase 1 MapRedu ...