Python读写文件的路径,关于os.chdir(path)位置对程序的影响,
生活随笔
收集整理的這篇文章主要介紹了
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))
結果
fu2()和fu3()差別不大略比fu0()快一丟丟,是應為for只進行了100個循環,當循環數大了fu3()比fu2()節省時間;
所以一般不要把一些不需要調用的放到for中,當循環數大了就影響運行速度
?
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
總結
以上是生活随笔為你收集整理的Python读写文件的路径,关于os.chdir(path)位置对程序的影响,的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 有限域的加减乘除运算
- 下一篇: python 爬取西刺免费代理ip 并使