关于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. java的字符串操作和for循环的使用

    /* "12 0 99 -7 30 4 100 13" 要求对字符串中的数值进行排序.生成一个数值从小到大新字符串. "-7 0 4 12 13 30 99 100&qu ...

  2. Kindeditor编辑插件的使用

    1.首先kindeditor这个插件需要配合着asp.net的自生带的控件textbox来实现 2.首先前台界面代码 <f:FormRow runat="server"> ...

  3. 说声PHP的setter&getter(魔术)方法,你们辛苦了

    php作为快速迭代项目的语言,其牛逼性质自不必多说.今天咱们要来说说php语言几个魔术方法,当然了,主要以setter&getter方法为主. 首先,咱们得知道什么叫魔术方法? 官方定义为:_ ...

  4. luoguP1886 滑动窗口 [单调队列]

    题目描述 现在有一堆数字共N个数字(N<=10^6),以及一个大小为k的窗口.现在这个从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗口中的最大值和最小值. 例如: The array i ...

  5. JavaScript DOM编程艺术读后感(1)—— 平稳退化

    最近,在读<JavaScript DOM编程艺术(第二版)>这本书,想着将自己的读后感记录下来,作为记忆吧. 其实我并不是最近才刚开始读这本书的,我读了有一段时间了.我是一名web前端开发 ...

  6. 计算幂 51Nod 1046 A^B Mod C

    给出3个正整数A B C,求A^B Mod C.   例如,3 5 8,3^5 Mod 8 = 3. Input 3个正整数A B C,中间用空格分隔.(1 <= A,B,C <= 10^ ...

  7. tensorflow softsign函数应用

    1.softsign函数 图像 2.tensorflow softsign应用 import tensorflow as tf input=tf.constant([0,-1,2,-30,30],dt ...

  8. SpringMVC源码情操陶冶-AbstractHandlerExceptionResolver

    springmvc支持服务端在处理业务逻辑过程中出现异常的时候可以配置相应的ModelAndView对象返回给客户端,本文介绍springmvc默认的几种HandlerExceptionResolve ...

  9. UVA - 1639 -Candy

    题目链接:https://vjudge.net/problem/UVA-1639 题目大意: 有两个糖果盒,每个盒子里面有n个糖果,每天随机选一个(概率分别为p,1-p),然后吃一颗糖.直到有一天,打 ...

  10. 【echart】学习笔记

    1.  x 轴 y轴 的max  min 只能为5的倍数 2.