# -*- coding: utf-8 -*-
import os
def printfile(rootdir):
allfiles = os.listdir(rootdir) #列出資料夾下所有檔案和目錄
for i in range(0, len(allfiles)):
# print(rootdir + allfiles[i])
path = os.path.join(rootdir, allfiles[i])
if not os.path.isfile(path):
print(path, " is a directory.")
else:
print(path, " is a file.")
# 得到乙個資料夾下面的所有檔案,不遞迴
def getallfileofadir(rootdir):
filelist =
allfiles = os.listdir(rootdir) #列出資料夾下所有檔案和目錄
for i in range(0, len(allfiles)):
# print(rootdir + allfiles[i])
path = os.path.join(rootdir, allfiles[i])
if not os.path.isfile(path):
#print(path, " is a directory.")
pass
else:
#print(path, " is a file.")
return filelist
def printlist(l):
length = len(l)
for i in range(0, length):
print(l[i])
# recursiondepth為遞迴的深度,為1時,僅僅查詢rootdir目錄下的所有指定檔案,
# 不再查詢子目錄
# suffix為要查詢的指定的檔案字尾名列表
allfile = # global
def getallfileofadir(rootdir, recursiondepth, suffix=none):
if(recursiondepth < 0):
return
#filelist =
allfiles = os.listdir(rootdir) #列出資料夾下所有檔案和目錄
for i in range(0, len(allfiles)):
path = os.path.join(rootdir, allfiles[i])
if not os.path.isfile(path):
if(not(allfiles[i] == '.' or allfiles[i] == '..')):
getallfileofadir(path + '/', recursiondepth - 1, suffix)
else:
if(suffix != none):
for suffix in suffix:
if(allfiles[i].find(suffix) > -1):
break
else:
# python 檔案操作,非常方便
def diroperate():
dir1 = "c:/"
dir2 = "g:/backup/"
dir3 = "g:/lin"
file1 = "g:/people.lxe"
file2 = "g:/交通狀態/00020時間.xlsx"
file3 = "g:/opencv3.4.0.zip"
dirlist =
filelist = [file1, file2, file3]
for dir in dirlist:
if os.path.exists(dir):
print(dir, " exists.")
else:
print(dir, " doesn't exists.")
for file in filelist:
if(os.path.exists(file)):
print(file, " exist!")
else:
print(file, " doesn't exists.")
print()
list_total = [dirlist, filelist]
for fileset in list_total:
for file in fileset:
if os.path.exists(file):
print(file, " exists.")
if os.path.isfile(file):
print(file, " is a file.")
else:
print(file, " is a dictory")
if os.access(file, os.r_ok):
print(file, " is accessible to read.")
if os.access(file, os.w_ok):
print(file, "is accessible to write.")
if os.access(file, os.x_ok):
print(file, "is accessible to execute.")
else:
print(file, " doesn't exists.")
# os.rename(), os.remove(), os.move(), os.copy(), os.copytree()
def main():
rootdir1 = "f:/"
#printfile(rootdir1)
#file = getallfileofadir(rootdir1)
#printlist(file)
#print("total file: ", len(file))
rootdir2 = "f:/2345downloads/"
# getallfileofadir(rootdir2, 0)
# getallfileofadir(rootdir2, 1, ['.exe', '.zip'])
# getallfileofadir(rootdir2, 2)
# printlist(allfile)
# print("total file: ", len(allfile))
diroperate()
if __name__ == '__main__':
main()
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 利用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 mod...