1.獲取環(huán)境變量中的x的值玻褪,如果不存在就返回y
os.environ.get('x', ‘y’)```
2.復(fù)制文件的函數(shù)在os模塊中不存在!原因是復(fù)制文件并非由操作系統(tǒng)提供的系統(tǒng)調(diào)用铜靶。shutil模塊提供了copyfile()的函數(shù),你還可以在shutil模塊中找到很多實(shí)用函數(shù),它們可以看做是os模塊的補(bǔ)充争剿。
shutil.copyfile(src, dst)
復(fù)制文件內(nèi)容(不包含元數(shù)據(jù))從src到dst已艰。 DST必須是完整的目標(biāo)文件名;```
什么是元數(shù)據(jù)
任何文件系統(tǒng)中的數(shù)據(jù)分為數(shù)據(jù)和元數(shù)據(jù)。數(shù)據(jù)是指普通文件中的實(shí)際數(shù)據(jù)蚕苇,而元數(shù)據(jù)指用來(lái)描述一個(gè)文件的特征的系統(tǒng)數(shù)據(jù)哩掺,諸如訪問(wèn)權(quán)限、文件擁有者以及文件數(shù)據(jù)塊的分布信息(inode...)等等涩笤。在集群文件系統(tǒng)中嚼吞,分布信息包括文件在磁盤上的位置以及磁盤在集群中的位置。用戶需要操作一個(gè)文件必須首先得到它的元數(shù)據(jù)蹬碧,才能定位到文件的位置并且得到文件的內(nèi)容或相關(guān)屬性
3.Python的os模塊封裝了操作系統(tǒng)的目錄和文件操作舱禽,要注意這些函數(shù)有的在os模塊中,有的在os.path模塊中
os.path.isdir(x)判斷指定路徑是否存在且是一個(gè)目錄
os.path.isfile(x)判斷指定路徑是否存在且是一個(gè)文件```
>**練習(xí)!!!**
編寫一個(gè)程序恩沽,能在當(dāng)前目錄以及當(dāng)前目錄的所有子目錄下查找文件名包含指定字符串的文件誊稚,并打印出相對(duì)路徑。
在我近三個(gè)小時(shí)努力罗心,n次出錯(cuò)n次修改以后終于
寫出了一個(gè)程序 歡迎大佬們?cè)u(píng)論吐槽
def getfile(path,filename):
if os.path.isfile(path+"/"+filename):
print(path+"/"+filename)
else:
for x in os.listdir(path):
if os.path.splitext(x)[1] == '':
if os.path.isfile(path+"/"+x+"/"+filename):
print(path+"/"+x+"/"+filename)
if os.path.splitext(x)[1] == '':
if not os.path.isfile(path+"/"+x+"/"+filename):
getfile(path+"/"+x,filename)