python中ospath
『壹』 python中的os.path.splitext是干什麼用的
作用:分離文件名與擴展名;默認返回(fname,fextension)元組,可做分片操作。
比如:
<spanstyle="font-size:18px;">importos
path_01='D:/User/wgy/workplace/data/notMNIST_large.tar.gar'
path_02='D:/User/wgy/workplace/data/notMNIST_large'
root_01=os.path.splitext(path_01)
root_02=os.path.splitext(path_02)
print(root_01)
print(root_02)</span>
『貳』 python 簡單示例說明os.walk和os.path.walk的不同
import os,os.path
def func(arg,dirname,names):
for filespath in names:
print os.path.join(dirname,filespath)
if __name__=="__main__":
print "==========os.walk================"
index = 1
for root,subdirs,files in os.walk("c:\\test"):
print "第",index,"層"
index += 1
for filepath in files:
print os.path.join(root,filepath)
for sub in subdirs:
print os.path.join(root,sub)
print "==========os.path.walk================"
os.path.walk("c:\\test",func,())
結果如下:
總結:
(1)兩者都能實現達到同一個效果
(2)在python3中,os.path.walk要被os.walk取代了,大家盡量用os.walk
(3)os.walk明顯比os.path.walk要簡潔一些,起碼它不需要回調函數,遍歷的時候一目瞭然:root,subdirs,files
(4)可能你在煩惱,os.path.walk的第三個參數arg有什麼用,好吧,當你os.path.walk()賦值給arg的時候,你就可以在第二個參數對應的func中用arg了
『叄』 python os.path是類嗎
path也是模塊,模塊也可以引入模塊。
你打開os.py就可以看到,path是OS 引入的 ntpath模塊,也可能是posixpath模塊,os是跨平台的,不同的平台會引入相應的模塊,別名都用"path"
『肆』 python3中為什麼os.path.getsize()獲取的大小和windows資源管理器里文件大小不一致
os.path.getsize()返回的是path的大小,path如果是一個文件,那麼就是文件大小;如果是文件夾,那麼就是文件夾大小,文件夾大小是指文件夾這個數據結構在文件系統中佔用的大小,NTFS文件系統中一個簇通常是4096位元組,一個文件夾佔用一個簇,所以NTFS中任何一個文件夾的大小都是4096位元組。
『伍』 求python中的os.path.dirname(__file__)具體應用實例
(1).當"print os.path.dirname(__file__)"所在腳本是以完整路徑被運行的, 那麼將輸出該腳本所在的完整路徑,比如:
python d:/pythonSrc/test/test.py
那麼將輸出 d:/pythonSrc/test
(2).當"print os.path.dirname(__file__)"所在腳本是以相對路徑被運行的, 那麼將輸出空目錄,比如:
python test.py
那麼將輸出空字元串
『陸』 python中os.path.mkdir與os.path.split怎麼連用
解決方法如下:
os.mkdir(filePath)的作用是創建一個路徑文件夾(如果存在的話會報錯),該路徑由參數filePath指定,沒有os.path.mkdir;
os.path.split(fileName)的作用是分割fileName獲得路徑和文件名,返回值是一個列表;
正確使用形式如下:
importos
fileName=r"C:UsersYYCDesktopSS est.txt"
os.mkdir(os.path.split(fileName)[0])該段代碼的作用是在C:UsersYYCDesktop路徑下生成SS文件夾。
『柒』 一般python中的os.path.join()什麼時候會用到呢
是在拼接路徑的時候用的。舉個例子,
os.path.join(「home」, "me", "mywork")
在Linux系統上會返回
「home/me/mywork"
在Windows系統上會返回
"home\me\mywork"
好處是可以根據系統自動選擇正確的路徑分隔符"/"或"\"
『捌』 如何解決Python中os.path.join的路徑拼接問題
是在拼接路徑的時候用的。舉個例子,
os.path.join(「home」, "me", "mywork")
在Linux系統上會返回
「home/me/mywork"
在Windows系統上會返回
"home\me\mywork"
好處是可以根據系統自動選擇正確的路徑分隔符"/"或"\"
『玖』 如何用Python os.path.walk方法遍歷搜索文件內容的操作詳解
文中使用到了Python os模塊和Python sys模塊,這兩個模塊具體的使用方法請參考玩蛇網相關文章閱讀。
Python os.path.walk方法遍歷文件搜索內容方法代碼如下:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import os, sys
#代碼中需要用到的方法模塊導入
listonly = False
skipexts = ['.gif', '.exe', '.pyc', '.o', '.a','.dll','.lib','.pdb','.mdb'] # ignore binary files
def visitfile(fname, searchKey):
global fcount, vcount
try:
if not listonly:
if os.path.splitext(fname)[1] in skipexts:
pass
elif open(fname).read().find(searchKey) != -1:
print'%s has %s' % (fname, searchKey)
fcount += 1
except: pass
vcount += 1
#www.iplaypy.com
def visitor(args, directoryName,filesInDirectory):
for fname in filesInDirectory:
fpath = os.path.join(directoryName, fname)
if not os.path.isdir(fpath):
visitfile(fpath,args)
def searcher(startdir, searchkey):
global fcount, vcount
fcount = vcount = 0
os.path.walk(startdir, visitor, searchkey)
if __name__ == '__main__':
root=raw_input("type root directory:")
key=raw_input("type key:")
searcher(root,key)
print 'Found in %d files, visited %d' % (fcount, vcount)
『拾』 python os和os.path模塊的區別
os 包括os.path
import os 之後要 os.path 來調用
from os import path 後 直接用path來調用就可以了