廖雪峰對應教程練習1:
利用os模組編寫乙個能實現dir -l輸出的程式。
#!/usr/bin/env python3
#_*_ encoding:utf-8 _*_
import os,time
dir = '/home/dhc/桌面/dhc/python練習'
defdir_l
(): li = os.listdir(dir)
print('mode\tnlike\tfilenum\tuser_id\tgroup_id\tsize\tmonth\tday\ttime\tfilename\t')
for n in li:
attrtuple = os.stat(n)
print(str(attrtuple.st_mode)+'\t',end='')
print(str(attrtuple.st_nlink)+'\t',end='')
filenum = file_num(dir,n)
print(str(filenum)+'\t',end='')
print(str(attrtuple.st_uid)+'\t',end='')
print(str(attrtuple.st_gid)+'\t\t',end='')
print(str(attrtuple.st_size//1024)+'k\t',end='')
timetuple = time.localtime(attrtuple.st_mtime)
print(str(timetuple.tm_mon)+'月\t',end='')
print(str(timetuple.tm_mday)+'\t',end='')
print(str(timetuple.tm_hour)+':'+str(timetuple.tm_min)+'\t',end='')
print(n+'\t')
#計算某個路徑的檔案數,若該路徑是乙個檔案則為1,乙個空資料夾為0
deffile_num
(di,n):
sub_path = os.path.join(di,n)
if os.path.isfile(sub_path):
return
1else:
filenum = 0
if os.path.isdir(sub_path):
subli = os.listdir(sub_path)
for x in subli:
if os.path.isfile(x):
filenum = filenum + 1
else:
filenum = filenum + file_num(sub_path,x)
return filenum
dir_l()
說明:
1.對於實現該功能在python中可以用乙個函式就可以實現,它就是os.sysytem(),該函式的功能是執行shell下的命令。
2.對於print()預設是列印換行,我們可以設定引數end來取消換行。
3.關於os.stat()
4.關於time.localtime()
廖雪峰對應教程練習2:
編寫乙個程式,能在當前目錄以及當前目錄的所有子目錄下查詢檔案名包含指定字串的檔案,並列印出。
#!/usr/bin/env python3
#_*_ encoding:utf-8 _*_
import os
dd = os.getcwd() #獲取當前工作目錄
deffindfile
(filename,dir):
li = os.listdir(dir)
for fi in li:
route = os.path.join(dir,fi)
if os.path.isfile(route) and filename in fi:
print(os.path.relpath(route,dd)) #得到相對路徑
if os.path.isdir(route):
findfile(filename,route)
dir = os.getcwd()
findfile('reduce',dir)
python檔案和目錄操作
一 python中對檔案 資料夾操作時經常用到的os模組和shutil模組常用方法。1.得到當前工作目錄,即當前python指令碼工作的目錄路徑 os.getcwd 2.返回指定目錄下的所有檔案和目錄名 os.listdir 3.函式用來刪除乙個檔案 os.remove 4.刪除多個目錄 os.re...
Python 檔案和目錄操作
操作檔案和目錄的函式一部分放在os模組中,一部分放在os.path模組中,這一點要注意一下。檢視 建立和刪除目錄可以這麼呼叫 檢視當前目錄的絕對路徑 os.path.abspath users michael 在某個目錄下建立乙個新目錄,首先把新目錄的完整路徑表示出來 os.path.join us...
python中檔案和目錄操作
1 獲得當前路徑 在python中可以使用os.getcwd 函式獲得當前的路徑。其原型如下所示。os.getcwd 該函式不需要傳遞引數,它返回當前的目錄。需要說明的是,當前目錄並不是指指令碼所在的目錄,而是所執行指令碼的目錄。例如,在pythonwin中輸入如下指令碼。import os pri...