python os模块练习题
生活随笔
收集整理的這篇文章主要介紹了
python os模块练习题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
# 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文件
def func(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):
# lst.append(path_abs)
# else:
# size_sum+=os.path.getsize(path_abs)
# print(size_sum)
總結
以上是生活随笔為你收集整理的python os模块练习题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 美乌重大胜利?普京为何失策,欧盟竟然这样
- 下一篇: python之字符串操作方法