python os模組練習題

2022-05-01 16:00:08 字數 2415 閱讀 3832

#

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...