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

关于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
osos.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中,当循环数大了就影响运行速度



 

 

转载于:https://www.cnblogs.com/liuda9495/p/7427686.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/428830.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

文件服务器上传文件的过程,文件服务器上传文件实现过程【分享】

写本帖的目的是,论坛经常有咨询或反馈文件服务器问题。本帖准备把文件服务器整个的实现过程讲清楚。以方便相关问题的或达到问题自查的目的。1、文件服务器 其实是IIS的一个站点。前端(说的前端是Silverlight及WPF等的前端)是直接与文件服务器站点进行交互。其中&am…

linux下搭建mongodb副本集

1.搭建三台mongodb服务器 cd /usr/local mkdir mongodb tar -zxvf mongodb-linux-x86_64-2.6.7.tgz cd mongodb-linux-x86_64-2.6.7 mv * /usr/local/mongodb cd /usr/local/mongodb mkdir data touch logs cd bin ./mongod -dbpath/usr/local/mongodb/data -logpath/usr/local…

ajax轮询模拟websocket,Ajax轮询和SSE服务器推送数据与websocket模式的区别性学习

我们试想一下我们做个实时聊天的窗口有几种方法?在我们不刷新页面并且可以试试更新页面内容的方法 你这时候是不是想到了ajax没错确实可以Ajax轮询什么是轮询?顾名思义就是我轮着问你,规定一个时间然后我就问你 有新数据了吗? 有新…

1026 程序运行时间 (15 分)

1026 程序运行时间 (15 分) 简单题。 #include<iostream> #include<cmath> #include<iomanip> using namespace std; int main() {int a,b,c;cin>>a>>b;if((b-a)%100>0&&(b-a)%100<50) c(b-a)/100; else c(b-a)/1001;cout<&l…

文字超出两行 则显示。。。

overflow: hidden; text-overflow: ellipsis; display: box; display: -webkit-box; line-clamp: 2; -webkit-line-clamp: 2; -webkit-box-orient: vertical; 转载于:https://www.cnblogs.com/zcboy/p/7435917.html

vue项目前端服务器,【前端技术】vue自动部署项目到服务器

想要的功能前端打包之后自动上传文件夹到服务器在不提交代码的前提下&#xff0c;也可以完成上述功能经过各种百度谷歌&#xff0c;最后有两种方案可以选择第一种是写一个shell&#xff0c;通过lftp上传文件夹&#xff0c;但是会有个权限的问题&#xff0c;需要更改nginx配置才…

1027 打印沙漏 (20 分)

1027 打印沙漏 (20 分) 简单题。 #include<iostream> #include<string> #include<math.h> using namespace std; int main() {int n;char ch;cin>>n>>ch;int i;for (i1;;i){if (2*i*i-1>n) {ii-1;break;}}for (int j1;j<2*i;j){for (int…

你所不了解的五条面试忠告

今天不聊代码也不谈架构&#xff0c;今天我只想说说对每个人来说都必不可少又并非最重要的工作环节之一——面试。 几乎各大培训结构在他们的学员即将毕业的时候都会开一两节有关面试的课程&#xff0c;无非是教大家如何因对考官的问题或者如何在一些冷门知识上回答让对方满意。…

官狼服务器临时维护,官狼三分钟新模式,跑跑狼人杀如何边跑边杀

作为风靡全球的桌游&#xff0c;狼人杀一度成为了国内白领、学生党的国民游戏。随着网络的普及&#xff0c;很多玩家开始转求线上网杀&#xff0c;网易《狼人杀官方》因为玩法最多画风好看&#xff0c;一直是大多数人的选择。而就在最近&#xff0c;《狼人杀官方》重磅推出了年…

二叉搜索树相关题目

//二叉查找树的第k大节点&#xff1a;利用二叉搜索树的中序遍历序列是递增排序的性质&#xff0c;递归实现 struct BinaryTreeNode{int m_nValue;BinaryTreeNode* m_pLeft;BinaryTreeNode* m_pRight; }; BinaryTreeNode* FindKthNodeCore(BinaryTreeNode* pRoot, unsigned int …

三星s6 信号无服务器,手机没信号的原因以及解决方法

现在手机是一件很普遍的通讯工具&#xff0c;因为现在手机功能的强大&#xff0c;所以基本上人人一部手机。目前在社会上比较流行的牌子就是苹果或者三星手机。不过想必大家在用手机的时候都会出现手机没有信号这个问题。这个问题是一件比较麻烦的问题&#xff0c;有的时候急需…

2017书单3

30.围城 钱钟书的一部经典文学作品&#xff0c;只在高中刚开学的时候读过一点&#xff0c;听当时的老帅、班主任王家友讲过一点。王老师的音容笑貌依然在心呀&#xff01;话说这本书&#xff0c;写的是出国留洋的方鸿进&#xff0c;买了野鸡大学的假文凭后的一系列遭遇&#xf…

不同型号服务器如何做双击热备,服务器做双机热备教程

服务器做双机热备教程 内容精选换一换将GaussDB(DWS)提供的ODBC DRIVER(psqlodbcw.so)配置到数据源中便可使用。配置数据源需要配置“odbc.ini”和“odbcinst.ini”两个文件(在编译安装unixODBC过程中生成且默认放在“/usr/local/etc”目录下)&#xff0c;并在服务器端进行配置…

143. 最大异或对

模板&#xff1a;tire 复杂度&#xff1a;O&#xff08;nlogn&#xff09; 143. 最大异或对 #include <iostream> #include <algorithm> using namespace std; const int maxn 100010, M 31 * maxn; int ch[maxn]; int n; int son[M][2], idx 0; void insert(i…

windows service 2008 内存吃尽解决方案

最近用windows2008&#xff0c;发现系统运行一段时间后&#xff0c;内存吃紧&#xff0c;赶紧打开资源查看器&#xff0c;发现当前运行的程序占有内存都很小&#xff0c;后经查资料&#xff0c;原来是被windows2008的文件缓存吃尽了&#xff0c;这是windows2008的新机制&#x…

文档上传到服务器上,将文件上传到服务器上

将文件上传到服务器上 内容精选换一换为了实现NAT Server、SAP HANA主备节点和SAP S/4HANA主备节点互相通过SSH协议跳转的功能&#xff0c;需要配置云服务器之间的互信。在本地PC上&#xff0c;生成登录NAT Server的密钥文件。在创建NAT Server时&#xff0c;指定了NAT Server的…

深入理解C# 静态类与非静态类、静态成员的区别 [转载]

静态类静态类与非静态类的重要区别在于静态类不能实例化&#xff0c;也就是说&#xff0c;不能使用 new 关键字创建静态类类型的变量。在声明一个类时使用static关键字&#xff0c;具有两个方面的意义&#xff1a;首先&#xff0c;它防止程序员写代码来实例化该静态类&#xff…

win10配置JAVA和tomacat环境变量

一、配置JAVA_HOME 二、配置CATALINA_HOME &#xff08;tomacat的环境变量&#xff09; 三、配置PATH 四、命令行检验配置结果&#xff1a; 1、命令行输入java 2、命令行输入javac 3、命令行输入startup.bat 注&#xff1a;如果以上三个命令无报错表示配置成功 转载于:https://…

1032 挖掘机技术哪家强 (20 分)

1032 挖掘机技术哪家强 (20 分) #include<iostream> using namespace std; int main() {int n,k,h,ch[100101]{0},hh0,hhh1;cin>>n;for (int i0;i<n;i){cin>>k>>h;ch[k]h;if (ch[k]>hh) {hhch[k];hhhk;}}cout<<hhh<<" "&…

E20170830-mk

translation n. 翻译; 译本; 转化; 转变; calculate vt. 计算; 估计; 打算&#xff0c;计划; 旨在;erase vt. 抹去; 清除; 擦掉;转载于:https://www.cnblogs.com/lancgg/p/8281741.html