#1、獲取某個檔案所在目錄的上一級目錄。
#例如'd:\python\projects\test19.py'目錄的結果 :d:\python\projects
#方法1
#path = os.path.dirname(r'd:\python\projects\test19.py')
#base_name = os.path.dirname(path)
#print(base_name)
#方法2
#base_name = os.path.dirname(os.path.dirname(r'd:\python\projects\test19py'))
#print(base_name)
2、寫乙個函式,接受乙個引數,如果是檔案,就執行這個檔案,如果是資料夾,就執行這個資料夾下所有的py檔案deffunc(path):
#先判斷這個path是檔案還是資料夾,isdir isfile
#如果是檔案,.py結尾的
if os.path.isfile(path) and path.endswith('
.py'
):
#執行這個檔案 :
os.system('
python %s
'%path) #
模擬了在cmd中執行**的過程
#如果是資料夾
elif
os.path.isdir(path):
#檢視這個資料夾下的所有內容 listdir
for name in
os.listdir(path):
abs_path =os.path.join(path,name)
#如果是檔案 .py結尾的
if abs_path.endswith('
.py'
):
#執行這個檔案 : os.system('python %s'%abs_path)
os.system('
python %s
' %abs_path)
func(r
'd:\python\pycharmprojects\ob3\test19.py
')
#3、寫乙個copy函式,接受兩個引數,第乙個引數是原始檔的位置,第二個#引數是目標位置,將原始檔copy到目標位置。
#還需要判斷一下這個檔案之前是否存在
#def copy(path1,path2):
#filename = os.path.basename(path1)
#if os.path.isfile(path1) and os.path.isdir(path2):
#path2 = os.path.join(path2,filename)
#if os.path.exists(path2):print('已有同名檔案')
#with open(path1,'rb') as f1,open(os.path.join(path2,filename),'wb') as f2:
#content = f1.read()
#f2.write(content)
#4,使用python**統計乙個資料夾中所有檔案的總大小#遞迴
#def func(path):
#size_sum=0
#name_list=os.listdir(path)
#for name in name_list:
#path_abs=os.path.join(path,name)
#if os.path.isdir(path_abs):
#size=func(path_abs)
#size_sum+=size
#else:
#size_sum+=os.path.getsize(path_abs)
#return size_sum
#ret=func(r'd:/python/pycharmprojects')
#print(ret)
#用迴圈解決:
#lst=[r'd:/python/pycharmprojects']
#size_sum=0
#while lst:
#path=lst.pop()
#path_list=os.listdir(path)
#for name in path_list:
#path_abs=os.path.join(path,name)
#if os.path.isdir(path_abs):##
else:
#size_sum+=os.path.getsize(path_abs)
#print(size_sum)
python os模組 練習題
python的 os模組封裝了作業系統的目錄和檔案操作,要注意這些函式有的在os模組中,有的在os.path模組中。1.利用os模組編寫乙個能實現dir l輸出的程式。usr bin env python3 coding utf 8 import os import time import re d...
Python datetime模組練習題
import datetime print today 2020年第天,今年 的時間已過去,我要好好努力學習!year days 365 today datetime.datetime.now date str 年月日 format year today.year,month today.month...
python書中練習題 python練習題
1 定義乙個空列表,接收從鍵盤輸入的整數,把列表傳給乙個從大到小排序的函式,再輸出排序後的列表的值 listex b 0 a int input 請輸入列表長度 while b a num int input 請輸入字元 b 1 print listex sum 0 for i in range 0...