关于os.chdir(path)位置对程序的影响,
import os
import time
#直接把path放到open()里面
def fu0():
star = time.time()
for i in range(100):
p = os.listdir('E:/pythontxt/PDF文字提取/')
for each in p:
with open('E:/pythontxt/PDF文字提取/'+each,'rb') as o:
o.readline()
print('完成')
end = time.time()
print(end - star) #os.chdir(path)放到最里层的for
def fu1():
star = time.time()
for i in range(100):
p = os.listdir('E:/pythontxt/PDF文字提取/')
for each in p:
os.chdir('E:/pythontxt/PDF文字提取/')
with open(each,'rb') as o:
o.readline()
print('完成')
end = time.time()
print(end - star)
#os.chdir(path)放到次层的for   

def fu2():
    star = time.time()
for i in range(100):
os.chdir('E:/pythontxt/PDF文字提取/')
p = os.listdir('E:/pythontxt/PDF文字提取/')
for each in p: with open(each,'rb') as o:
o.readline()
print('完成')
end = time.time()
print(end - star)

#os.chdir(path)放到最外层的for
def fu3():
star = time.time()
os.chdir('E:/pythontxt/PDF文字提取/')
for i in range(100):
os.chdir('E:/pythontxt/PDF文字提取/')
p = os.listdir('E:/pythontxt/PDF文字提取/')
for each in p:
with open(each,'rb') as o:
o.readline()
print('完成')
end = time.time()
print(end - star) #每个运行2次估计平均值
fu0()
fu0()
fu1()
fu1()
fu2()
fu2()
fu3()
fu3()
#先在文件夹下写1000个txt

import os

os.chdir('E:/pythontxt/PDF文字提取/')
for i in range(1000):
with open(str(i)+'.txt','w') as o:
o.write(str(i))


结果

完成
6.512665510177612
完成
6.204932689666748
完成
10.26894736289978
完成
10.360546112060547
完成
5.979380369186401
完成
5.968496799468994
完成
5.956638336181641
完成
5.928236722946167

fu0():可以看出直接把path写到open()中速度比较快,

fu1():os.chdir(path)放到最里层的for中 速度最慢,存在反复执行os.chdir(path);

fu2()和fu3()差别不大略比fu0()快一丢丢,是应为for只进行了100个循环,当循环数大了fu3()比fu2()节省时间;

所以一般不要把一些不需要调用的放到for中,当循环数大了就影响运行速度



 

Python读写文件的路径,关于os.chdir(path)位置对程序的影响,的更多相关文章

  1. [Python]读写文件方法

    http://www.cnblogs.com/lovebread/archive/2009/12/24/1631108.html [Python]读写文件方法 http://www.cnblogs.c ...

  2. python之文件操作模块(os和shutil)

      1.os.name #操作系统类型 如果是posix,说明系统是liunx.Unix或Mac OS X,如果是nt,就是windows2.os.enviro #操作系统中定义的环境变量3.os.e ...

  3. Python读写文件实际操作的五大步骤

    Python读写文件在计算机语言中被广泛的应用,如果你想了解其应用的程序,以下的文章会给你详细的介绍相关内容,会你在以后的学习的过程中有所帮助,下面我们就详细介绍其应用程序. 一.打开文件 Pytho ...

  4. Python 读写文件的正确方式

    当你用 Python 写程序时,不论是简单的脚本,还是复杂的大型项目,其中最常见的操作就是读写文件.不管是简单的文本文件.繁杂的日志文件,还是分析图片等媒体文件中的字节数据,都需要用到 Python ...

  5. Python读写文件

    Python读写文件1.open使用open打开文件后一定要记得调用文件对象的close()方法.比如可以用try/finally语句来确保最后能关闭文件. file_object = open('t ...

  6. python的re模块一些方法 && Tkinter图形界面设计 && 终止python运行函数 && python读写文件 && python一旦给字符串赋值就不能单独改变某个字符,除非重新给变量赋值

    Tkinter图形界面设计见:https://www.cnblogs.com/pywjh/p/9527828.html#radiobutton 终止python运行函数: 采用sys.exit(0)正 ...

  7. Python 文件读写 文件和路径

    1.在Windows上,使用倒斜杆作为文件夹之间的分隔符,在Linux上,使用正斜杠作为路径分隔符.在编写Python脚本时,可以os.path.join()函数来处理 在Windows环境下命令如下 ...

  8. Python读写文件你真的了解吗?

    内容概述 Python文件操作 针对大文件如何操作 为什么不能修改文件? 你需要知道的基本知识 1. Python文件操作 这一部分内容不是重点,因为很简单网上很多,主要看看文件操作的步骤就可以了. ...

  9. python 读写文件和设置文件的字符编码

    一. python打开文件代码如下: f = open("d:\test.txt", "w") 说明:第一个参数是文件名称,包括路径:第二个参数是打开的模式mo ...

随机推荐

  1. Android服务端的设计

    1.创建自己的MyServletContextListener.java: package yybwb; import java.net.ServerSocket; import javax.serv ...

  2. elasticsearch REST API方式批量插入数据

    elasticsearch REST API方式批量插入数据 1:ES的服务地址  http://127.0.0.1:9600/_bulk 2:请求的数据体,注意数据的最后一行记得加换行 { &quo ...

  3. JavaScript中异步编程

    一 关于事件的异步 事件是JavaScript中最重要的一个特征,nodejs就是利用js这一异步而设计出来的.所以这里讲一下事件机制. 在一个js文件中,如果要运行某一个函数,有2中手段,一个就是直 ...

  4. hdu_1695: GCD 【莫比乌斯反演】

    题目链接 这题求[1,n],[1,m]gcd为k的对数.而且没有顺序. 设F(n)为公约数为n的组数个数 f(n)为最大公约数为n的组数个数 然后在纸上手动验一下F(n)和f(n)的关系,直接套公式就 ...

  5. Java--反射的逐步理解

    层层引入反射的作用 一.类类型的概念:所有类都是对象,是Class类的实例对象,这个对象我们成为该类的类类型 1.下面是一个小的test,以产生3种方式的类类型: public class test ...

  6. jmeter问题处理随笔1 - 自动遍历用例(一次)

    背景: 弄了个无业务关联的巡检接口方案,需要循环获取csv中的数据,每一条数据,运行一次,直到全部运行完,但是使用后发现要通过[线程组]中设置循环变量的数据为来读取csv中的数据,这样每次修改csv用 ...

  7. 设计模式(3)抽象工厂模式(Abstract Factory)

    设计模式(0)简单工厂模式 设计模式(1)单例模式(Singleton) 设计模式(2)工厂方法模式(Factory Method) 源码地址 0 抽象工厂模式简介 0.0 抽象工厂模式定义 抽象工厂 ...

  8. 【css】盒子模型 之 弹性盒模型

    参考: http://caibaojian.com/flexbox-guide.html 待补充啊

  9. HTML5 开发APP( 支付宝支付)

    我们搞app有一个重要的功能那就是支付功能.无论是微信支付,支付宝,还是银联支付总要有一样支付手段来支持我们网上付款.实现完整的功能.我们公司app的支付方式经过大家开会讨论选择了支付宝支付(其实是当 ...

  10. java核心技术面试整理

    [前方高能,是这半年BAT,京东,远景,华为,中兴以及苏研发中心被问到的Java公共问题的一个整理] ------------------------------------------------- ...