国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

【Python私活案例】200元:Python實現(xiàn)批量文件的檢測和解壓縮

共 10429字,需瀏覽 21分鐘

 ·

2021-11-28 17:45

來活了!來活了!在學習群中灌水時發(fā)現(xiàn)螞蟻老師發(fā)布的任務(wù)需求中有個200大洋的大活沒人接單,還等什么,趕緊盤它!??!

一、需求分析

接活后的第一步肯定都是進行需求分析,來看看金主的需求是什么樣子的吧,

簡單梳理一下關(guān)鍵點:

  1. 輸入兩個信息:一個文件夾路徑、一個TXT文件。文件夾中是7z壓縮包文件,TXT中是需要解壓的文件名稱;
  2. 找到TXT中的7z文件,解壓并刪除壓縮包,同時需要使用多線程/多進程,提高解壓效率;
  3. TXT文件中沒有找到壓縮包的文件名,需要輸出一個TXT。
  4. 打包成exe可執(zhí)行文件

二、思路整理

由于需要解壓的文件非常多,非常大,需求方暫時還沒辦法提供測試用例,那么先按自己的理解把主要功能給實現(xiàn)一下先:

  1. 雖說需求中要求用遞歸處理子文件夾下的文件,但是,如果先用os模塊的walk功能,先遍歷一遍文件夾下所有的文件(包括子文件夾),似乎效果也是一樣的,所以,先考慮用遍歷,至于要不要遞歸,等有了具體測試用例了再說;
  2. 要輸出沒有找到壓縮包的文件名,那就把需要解壓的文件名與遍歷后文件夾后獲取的壓縮包文件名進行匹配,分成兩個list,找到壓縮包的和沒找到壓縮包的;
  3. 對找到壓縮包的文件的進行并發(fā)解壓(這里必須贊一下螞蟻老師,在需求里面直接把思路給出來了,后面就一碼平川了^_^)
  4. 最后,將沒找到壓縮包的文件輸出到TXT中。
  5. 最后的最后,再打包成exe可執(zhí)行文件,搞定?。?!

不過,思路是理好了,但是不會解壓縮7z文件、不會打包exe,多線程用的少,只有半桶水腫么辦?沒關(guān)系?。?!有螞蟻老師做后盾,把老師的教學視頻(Python并發(fā)編程,用多線程加速程序運行)拿出來復習復習,再加上萬能的百度,沒有搞不定的事情,加油奧利給!帶薪學習我們的動力是杠杠滴~~~

三、代碼實現(xiàn)

  1. 初始化類
class?UnZipFiles:
????def?__init__(self):
????????self.root_path?=?input('請輸入壓縮文件所在的路徑')??#?根目錄
????????self.zip_file_count?=?0??#?初始化zip文件的個數(shù)
????????self.zip_file_dict?=?{}??#?根目錄中所有的7z文件字典,其中key為去除擴展名后的文件名,value為list格式,為7z文件的完整路徑
????????self.txt_file?=?input('請輸入TXT文件的完整路徑')??#?需要解壓的TXT文件完整路徑
????????self.unzip_files?=?None??#?讀取txt_file后解析的需要解壓縮的文件list
????????self.not_found?=?[]??#?沒有找到的需要解壓的文件list
????????self.found_files?=?[]??#?有找到的需要解壓的文件list

先初始化一個類,把后續(xù)需要用到的屬性進行定義。分步執(zhí)行情況:

初始化類
  1. 實現(xiàn)讀取TXT文件創(chuàng)建需要解壓文件名列表的方法
????def?read_txt_file(self,?code='utf-8'):
????????"""
????????讀取TXT文件,生成需要解壓的文件list
????????:param?code:?讀取文件使用的編碼格式
????????"""

????????with?open(self.txt_file,?'r',?encoding=code)?as?fin:
????????????self.unzip_files?=?fin.read().split('\n')

分步執(zhí)行情況:

讀取TXT文件
  1. 實現(xiàn)讀取根目錄下所有文件并創(chuàng)建字典的方法
????def?get_all_zip_files(self):
????????"""
????????使用os.walk模塊遍歷根目錄下的所有7z文件,生成zip_file_dict
????????"""

????????for?path,?dirnames,?filenames?in?os.walk(self.root_path):
????????????for?filename?in?filenames:
????????????????if?filename.endswith('.7z')?and?not?filename.startswith('~'):
????????????????????self.zip_file_count?+=?1
????????????????????full_path?=?os.path.join(path,?filename)
????????????????????filename?=?filename.replace('.7z',?'')
????????????????????if?filename?in?self.zip_file_dict.keys():
????????????????????????self.zip_file_dict[filename].append(full_path)
????????????????????else:
????????????????????????self.zip_file_dict[filename]?=?[full_path]

這里使用os.walk方式,遍歷根目錄下所有文件,創(chuàng)建一個壓縮文件的字典,key使用去除擴展名后的文件名以便于TXT里的文件名進行匹配。這里特別說一下,第一稿的時候,在往字典值的list里append值時,居然犯了低級錯誤,寫成了“self.zip_file_dict[filename] = self.zip_file_dict[filename].append(full_path)”,要知道append是直接修改了list,并沒有返回值,導致出現(xiàn)重名文件的時候出錯;然后腦抽筋一直沒有反應(yīng)過來,調(diào)試了半天......(寶寶心里苦)

分步執(zhí)行情況:

創(chuàng)建7z文件字典
  1. 檢查文件,分成找到的和沒找到的兩份
????def?check_files(self):
????????"""
????????檢查文件,遍歷unzip_files,與zip_file_dict的key匹配,有找到的放入found_files,沒找到的放入not_found
????????"""

????????for?file?in?set(self.unzip_files):??#?為預防TXT文件中存在重復文件名,用set集合去重一下
????????????if?file?in?self.zip_file_dict.keys():
????????????????for?x?in?self.zip_file_dict[file]:
????????????????????self.found_files.append(x)
????????????else:
????????????????self.not_found.append(file)

這里主要需要考慮存在不同文件夾中出現(xiàn)同名壓縮包的情形。分步執(zhí)行情況:

分成兩個列表
  1. 實現(xiàn)一個單獨解壓7z文件的方法
????def?upzip_file(self,?file_full_path):
????????"""
????????對單個7z文件進行解壓縮,解壓縮后的文件,放置在原7z文件所在路徑下,解壓成功后,刪除7z文件
????????:param?file_full_path:?需要傳入完整的文件路徑
????????:return:?True?or?False
????????"""

????????if?is_7zfile(file_full_path):
????????????try:
????????????????start_time?=?time.time()
????????????????with?SevenZipFile(file_full_path,?mode='r')?as?sevenZ_f:
????????????????????sevenZ_f.extractall(os.path.split(file_full_path)[0])??#?解壓到與壓縮包相同的目錄下
????????????????os.remove(file_full_path)??#?解壓成功后刪除文件
????????????????end_time?=?time.time()
????????????????print(f'解壓縮{file_full_path}文件成功,用時{round(end_time-start_time,?4)}秒')
????????????except?Exception?as?e:
????????????????print('Error?when?uncompress?file!?info:?',?e)
????????????????return?False
????????????else:
????????????????return?True
????????else:
????????????print('This?is?not?a?true?7z?file!')
????????????return?False

這一段是帶薪學習的成果了,主要Ctrl C + Ctrl V(^_^感謝萬能的百度)。不過其實理解起來也不難,使用了py7zr這個庫來解壓7z壓縮包,先判斷是否7z文件,再進行解壓,成功返回True,否則False。

  1. 進行批量并發(fā)解壓縮
????def?run_unzip(self,?max_workers=10):
????????"""
????????開啟多線程進行解壓縮
????????:param?max_workers:?開啟的最大線程數(shù),默認10個
????????"""

????????with?ThreadPoolExecutor(max_workers=max_workers)?as?pool:
????????????futures?=?[pool.submit(self.upzip_file,?file)?for?file?in?self.found_files]

螞蟻老師的教程(Python并發(fā)編程,用多線程加速程序運行)里學(抄)來的。

分步執(zhí)行情況:

多線程并發(fā)解壓
  1. 輸出沒有匹配到壓縮包的文件名,格式為TXT文件
????def?write_not_found_file(self):
????????"""
????????當存在沒有找到的解壓文件時,寫入文件,文件存放在與txt_file相同的目錄下,命名為not_found_fifle.txt
????????"""

????????if?len(self.not_found)?>?0:
????????????txt_path?=?self.txt_file.replace('.txt',?'_not_found.txt')??#?將原TXT文件的完整路徑進行修改,增加“_not_found”部分作為輸出TXT文件的文件名
????????????with?open(txt_path,?'w',?encoding='utf-8')?as?fout:
????????????????fout.write('\n'.join(self.not_found))
  1. 按順序執(zhí)行各個方法
????def?run_program(self,?code='utf-8',?max_workers=10):
????????"""
????????按順序運行程序
????????:param?code:?讀取txt_file的編碼格式,默認utf-8
????????:param?max_workers:?開啟的線程數(shù),默認10線程
????????"""

????????start?=?time.time()
????????self.read_txt_file(code)??#?讀取txt文件,生成unzip_files
????????self.get_all_zip_files()??#?獲取根目錄下所有的7z文件字典
????????self.check_files()??#?檢查upzip_files是否都在字典中
????????self.run_unzip(max_workers)??#?開啟多線程進行解壓縮
????????self.write_not_found_file()??#?寫入未找到的文件
????????end?=?time.time()
????????cost_time?=?end?-?start
????????print(f'txt文件中共有{len(self.unzip_files)}個文件名,其中{len(self.unzip_files)-len(self.not_found)}個在文件夾中找到{len(self.found_files)}個7z文件,{len(self.not_found)}個沒有找到7z文件,注文件夾中共有{self.zip_file_count}個7z文件,不重復文件名共{len(self.zip_file_dict.keys())}個')
????????print(f'成功解壓{len(self.found_files)}個7z文件,有{len(self.not_found)}個文件沒有找到')
????????input(f'cost_time:{cost_time}秒,按回車鍵退出窗口')

執(zhí)行情況:

整體執(zhí)行情況

四、完整代碼

import?os
from?py7zr?import?is_7zfile,?SevenZipFile
from?concurrent.futures?import?ThreadPoolExecutor
import?time


class?UnZipFiles:
????def?__init__(self):
????????self.root_path?=?input('請輸入壓縮文件所在的路徑')??#?根目錄
????????self.zip_file_count?=?0??#?初始化zip文件的個數(shù)
????????self.zip_file_dict?=?{}??#?根目錄中所有的7z文件字典,其中key為去除擴展名后的文件名,value為list格式,為7z文件的完整路徑
????????self.txt_file?=?input('請輸入TXT文件的完整路徑')??#?需要解壓的TXT文件完整路徑
????????self.unzip_files?=?None??#?讀取txt_file后解析的需要解壓縮的文件list
????????self.not_found?=?[]??#?沒有找到的需要解壓的文件list
????????self.found_files?=?[]??#?有找到的需要解壓的文件list

????def?read_txt_file(self,?code='utf-8'):
????????"""
????????讀取TXT文件,生成需要解壓的文件list
????????:param?code:?讀取文件使用的編碼格式
????????"""

????????with?open(self.txt_file,?'r',?encoding=code)?as?fin:
????????????self.unzip_files?=?fin.read().split('\n')

????def?get_all_zip_files(self):
????????"""
????????使用os.walk模塊遍歷根目錄下的所有7z文件,生成zip_file_dict
????????"""

????????for?path,?dirnames,?filenames?in?os.walk(self.root_path):
????????????for?filename?in?filenames:
????????????????if?filename.endswith('.7z')?and?not?filename.startswith('~'):
????????????????????self.zip_file_count?+=?1
????????????????????full_path?=?os.path.join(path,?filename)
????????????????????filename?=?filename.replace('.7z',?'')
????????????????????if?filename?in?self.zip_file_dict.keys():
????????????????????????self.zip_file_dict[filename].append(full_path)
????????????????????else:
????????????????????????self.zip_file_dict[filename]?=?[full_path]

????def?check_files(self):
????????"""
????????檢查文件,遍歷unzip_files,與zip_file_dict的key匹配,有找到的放入found_files,沒找到的放入not_found
????????"""

????????for?file?in?set(self.unzip_files):??#為預防TXT文件中存在重復的文件名,加個set集合去重
????????????if?file?in?self.zip_file_dict.keys():
????????????????for?x?in?self.zip_file_dict[file]:
????????????????????self.found_files.append(x)
????????????else:
????????????????self.not_found.append(file)

????def?upzip_file(self,?file_full_path):
????????"""
????????對單個7z文件進行解壓縮,解壓縮后的文件,放置在原7z文件所在路徑下,解壓成功后,刪除7z文件
????????:param?file_full_path:?需要傳入完整的文件路徑
????????:return:?True?or?False
????????"""

????????if?is_7zfile(file_full_path):
????????????try:
????????????????start_time?=?time.time()
????????????????with?SevenZipFile(file_full_path,?mode='r')?as?sevenZ_f:
????????????????????sevenZ_f.extractall(os.path.split(file_full_path)[0])
????????????????os.remove(file_full_path)
????????????????end_time?=?time.time()
????????????????print(f'解壓縮{file_full_path}文件成功,用時{round(end_time-start_time,?4)}秒')
????????????except?Exception?as?e:
????????????????print('Error?when?uncompress?file!?info:?',?e)
????????????????return?False
????????????else:
????????????????return?True
????????else:
????????????print('This?is?not?a?true?7z?file!')
????????????return?False

????def?run_unzip(self,?max_workers=10):
????????"""
????????開啟多線程進行解壓縮
????????:param?max_workers:?開啟的最大線程數(shù),默認10個
????????"""

????????with?ThreadPoolExecutor(max_workers=max_workers)?as?pool:
????????????futures?=?[pool.submit(self.upzip_file,?file)?for?file?in?self.found_files]

????def?write_not_found_file(self):
????????"""
????????當存在沒有找到的解壓文件時,寫入文件,文件存放在與txt_file相同的目錄下,命名為not_found_fifle.txt
????????"""

????????if?len(self.not_found)?>?0:
????????????#?txt_path?=?os.path.split(self.txt_file)[0]
????????????txt_path?=?self.txt_file.replace('.txt',?'_not_found.txt')
????????????with?open(txt_path,?'w',?encoding='utf-8')?as?fout:
????????????????fout.write('\n'.join(self.not_found))

????def?run_program(self,?code='utf-8',?max_workers=10):
????????"""
????????按順序運行程序
????????:param?code:?讀取txt_file的編碼格式,默認utf-8
????????:param?max_workers:?開啟的線程數(shù),默認10線程
????????"""

????????start?=?time.time()
????????self.read_txt_file(code)??#?讀取txt文件,生成unzip_files
????????self.get_all_zip_files()??#?獲取根目錄下所有的7z文件字典
????????self.check_files()??#?檢查upzip_files是否都在字典中
????????self.run_unzip(max_workers)??#?開啟多線程進行解壓縮
????????self.write_not_found_file()??#?寫入未找到的文件
????????end?=?time.time()
????????cost_time?=?end?-?start
????????print(f'txt文件中共有{len(self.unzip_files)}個文件名,其中{len(self.unzip_files)-len(self.not_found)}個在文件夾中找到{len(self.found_files)}個7z文件,{len(self.not_found)}個沒有找到7z文件,注文件夾中共有{self.zip_file_count}個7z文件,不重復文件名共{len(self.zip_file_dict.keys())}個')
????????print(f'成功解壓{len(self.found_files)}個7z文件,有{len(self.not_found)}個文件沒有找到')
????????input(f'cost_time:{cost_time}秒,按回車鍵退出窗口')


if?__name__?==?'__main__':
????obj?=?UnZipFiles()
????obj.run_program()

使用代碼跑了一個需求方給的一個示例文件夾,里面上千個7z文件,下載并解壓了其中735個,已經(jīng)解壓出53.5G的文件,幾乎撐爆我的筆記本硬盤,只好放棄后續(xù)測試了。

用時
解壓結(jié)果

五、打包成exe可執(zhí)行文件

功能成功實現(xiàn)之后就可以打包成exe可執(zhí)行文件了,這個部分使用到了pyinstaller,雖然一開始不會,但是查閱了一些文檔后,還是很簡單的,網(wǎng)絡(luò)上有很多教程就不重復寫了,唯一需要注意的是:如果希望打包出來的exe執(zhí)行文件盡可能的小,那么就需要創(chuàng)建虛擬環(huán)境,引入最少的包。個人試了一下,在anaconda環(huán)境下打包出來215M,在虛擬環(huán)境下只安裝需要的包打包只有9M。

交稿

等待回復的空余時間,給螞蟻老師投個稿,掙點稿費改善生活......不不不,我這是為了總結(jié)經(jīng)驗、加深印象、穩(wěn)固知識......

曬單

最后還是要曬一下單,小金庫又充實了,距離財富自由又邁進了一小步^_^


瀏覽 48
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報
評論
圖片
表情
推薦
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 国产丰满| 三级成人无码| 草久免费视频| 丁香婷婷网| 88海外华人免费一区| 人人操av| 日本内射在线观看| 91人妻日韩人妻无码| 青春草在线免费观看| 丁香六月婷婷久久综合| 影音先锋成人av| 中文字幕高清无码在线观看| 好吊妞在线观看| 日韩无码人妻系列| 伊人网站| 亚洲精品视频无码| 成人国产精品在线看| 中字无码制服| 丁香婷婷社区| 五月天久久久久久| 日韩性视频| 国产无套视频| 你懂的网址在线观看| 青青草原成人在线视频| 操美女的网站| 五月丁香六月久久| 99re国产| av无码网站| 三级网站免费观看| 成人做爰黄A片免费看| 一级a一级a爰片免费免免在线| 欧美mv日韩mv国产网站| 亚洲午夜视频在线观看| 高清无码自拍| 97无码精品人妻一区二区三区| 国产在线性爱视频| av资源播放| 黄色在线欣赏| 麻豆一级片| 华女与黑人91A∨| 亚洲高清无码在线免费观看| 奇米色婷婷| 少妇久久久久久久久久| 99久久精彩视频| 久久永久免费精品人妻专区| 国产久久久久| 久热精品在线观看| 婷婷五月丁香花| 人人草在线观看| 国产中文自拍| 亚洲AV无码成人H动漫| 97无码人妻一区二区三区| 国产黄色大片| 久久久久久久久久久高清毛片一级| 狠狠躁夜夜躁人爽| 亚洲美女一区| 黄视频在线观看免费| 久久视频免费在线观看| 国产黄色片在线免费观看| 国产精品久久久久国产A级| 日本少妇视频| 激情丁香五月| 婷婷五月综合网| 日本欧美视频| 亚人精品中文字幕在线观看| 中文字幕成人A片| 永久久久久久久| 欧美级黑寡妇毛片app| 无码在线视频播放| 国产成人毛片18女人18精品| 亚洲wwwwww| 一级做a爰片毛片A片| 一级黄色A片| 性爱乱伦视频| 久久久久久久国产精品| 黄色小视频在线观看| 夜夜嗨AV一区二区三区| 水蜜桃在线观看视频| 久久久久久久久国产精品| 日韩av中文| 大炕上公让我高潮了六次| 男人的天堂青青草| 欧美性生交18XXXXX无码| 欧美日韩肏屄视频| 欧美XX888做受| 伊人久久久影视大全| 亚洲精品一线| 天堂vs亚洲| 囯产精品久久久久久久久久久久久久 | 人人操人人爱人人拍| 久久草| 日韩精品三区| 欧美日韩一| 久久在线视频| 亚洲AV免费在线观看| 成人黄片免费看| 国产精品99久久久久的广告情况| 老司机免费福利视频| 在线午夜福利| 中文字幕免费在线视频| 性爱二区| 成人免费黄色| 乌克兰毛片| 欧美成人自拍| 丁香五月中文字幕| 久久人妻熟女中文字幕av蜜芽| 亚州AV无码| 亚洲www.| 亚洲色图综合| 九九热精品视频| 超碰av在线| 亚洲AV网站| 婷婷亚洲综合| 天堂A片电影网站在线观看| 人人妻人人澡人人爽久久av| 国产情趣网站| 亚洲无码AV麻豆| 在线看片AV| 婷婷久草网| 操逼视频国产91| 亚洲欧美婷婷五月色综合| 亚洲视频欧洲视频| 色五月婷婷五月天激情| 国产精品99久久免费黑人人妻| 97超碰色| 日韩免费看片| 欧美狠狠插| 精品一二三四| 俄罗斯白嫩BBwBBwBBw91| 伊人精品在线| 逼特逼视频在线| 2018人人操| 日韩成人黄色电影| 91中文在线| 色五月婷婷中文字幕| 国产性爱在线| 搡BBB搡BBBB搡BBBB| 欧美天堂成人三级| 亚洲天堂2014| 草碰在线视频| 久久久老熟女一区二区三区91| 亚洲福利社| 天天操人人操| 青草99| 午夜性爱视频| 波多野结衣一区二区三区在线观看| 国内自拍无码| 国产成人精| 西西444WWW大胆无视频软件亮点| 91嫖妓站街按摩店老熟女| 亚洲视频在线观看免费| 国产黄色不卡| 五月婷婷开心| 美女福利导航| 尤物网站在线观看| 亚洲中文字幕2019| A片动漫| 婷婷五月丁香花| 欧美一级免费| 91久久精品日日躁夜夜躁国产| 国产日逼视频| 农村一级婬片A片| 操逼资源| 一本之道高清数码大全| 亚洲精品国产成人AV在线| 中文字幕丰满熟妇人妻| 美女91视频网站| 天堂亚洲| 免费黄色成人网站| 翔田千里高潮90分钟| av天天av无码av天天爽| 99热这里只有精品999| 麻豆AV免费看| 天天摸天天日| 一本色道久久综合无码人妻| 特级西西西西4444级酉西88wwww特 | 日韩欧美91| 手机看片国产| 午夜AV电影| 人人妻人人妻| 超碰在线中文字幕| 欧美一级视频| 广西少妇BBwBBwBBw| 久久99高清| 无码成人在线| 综合AV| 亚洲无码精品在线| 亚洲日韩精品秘在线观看| 操逼AⅤ| 人人操人人网站| 淫香淫色天天影视| 翔田千里AV| 成人国产精品视频| 综合网亚洲| 浮力影院久久| 性爱福利导航| 中文字幕在线一区二区a| 欧美成人黄色A片| 俺去啦在线| 欧美口爆| 51一区二区三区| 9I成人免费版视频| 无码国产高清| 日本特级片| 在线免费无码| 精品少妇3p| 亚洲免费视频网站| 色欲欲www成人网站| 欧美黄色毛片| 东方成人AV| 亚洲国产黄片| 成人免费视频网站| 亚洲熟妇在线| 人人操人人操人人操| 中文字幕亚洲在线| 国产精品视频你懂的| 免费电影日本黄色| 日日干av| 国产一区二区三区免费| 成人激情视频A极| 久久精品99国产国产精| 国产99久久久| 精品久久精品| 麻豆精品视频| 不卡无码av| 一个人看的视频www| 毛片在线观看视频| 大香蕉操逼视频| 国产精品久久久无码专区| 天堂在线v| 三级片导航| 人人操夜夜操| 无码人妻日本| 97人妻人人澡人人| 69福利视频| 四虎成人网站| 逼逼AV网站-日韩电影| 国产伦理一区| 2025AV在线| 超碰人人操人人爱| 香蕉av在线观看| 奇米av在线| 国产乱码一区二区三区的区别| 国产亚洲精品久久久久动| 俺去操| 内射视频免费看| 大香蕉在线看| av免费播放| 欧美在线观看一区| 3D动漫操逼视频| 2025精品视频| 伊人干综合| 欧美日韩加勒比| 国产成人精品777777| www.91在线| 亚洲中文字幕电影| 亚洲综合中文字幕在线播放| 国产欧美在线视频| 天天插天天干| 一本色道久久综合狠狠| 黄色永久网站| 日韩A片无码ⅩXXXX| 国内一级A片| 精品一区三区| 国产福利电影在线观看| 亚洲视频在线观看| 亚州加勒比无码| 午夜AV福利影院| 波多野吉衣av| 玖玖激情| 97精品国产97久久久久久免费| 日逼综合网| 欧美亚洲日韩国产| 综合+++夜夜| 人人爱人人干人人操| 青娱乐亚洲精品| 51成人网站免费| 亚洲99热| 日韩欧美一级视频| 亚洲在线播放| 高清无码视频在线| 久久久久久久成人| 亚洲在线中文字幕| 美女被操面费网站| 亚洲AV无码成人| 日韩无码高清视频| 一本色道久久综合无码人妻四虎 | 无码精品成人观看A片| 91在线精品一区二区| 色婷婷亚洲色| 99久久婷婷| 精品女同一区二区三区四区外站在线| 九色丨蝌蚪丨老版熟女| 无码福利导航| 69式荫蒂被添全过程频| 亚洲精品久| 91麻豆一区二区| 精品无码一区二区三区在线| AV免费播放| 丁香五月激情中文字幕| 一区二区三区无码区| 污网站免费在线观看| 麻豆精品传媒国产剧的特点 | 91在线免费视频| 狼友视频免费在线观看| 日韩成人在线免费观看| 黄色大片中国一级片-免费看特一级片-亚洲黄色AV | 亚洲天堂av在线免费观看| 在线观看国产小视频| 精品人妻一区二区三区浪潮在线| 影音先锋日韩| 狠狠撸视频| 精品国产乱码一区二区| 一级a免费| 天天干无码| 男插女青青影院| 无码视频播放| 欧美性猛交ⅩXXX无码视频| 丁香成人五月天| 毛片网站大全| 欧美日韩激情视频| 国产又爽又黄免费视频网站| 国产精品99精品| 色色无码| 91人人妻人人做人人爽| h片在线看| 久久99影院| 人人摸人人操人人干| 欧美三级片视频| 91国内产香蕉| 东北女人操逼| 日韩72页| 久久精品成人| 亚洲美女网站在线观看| 久久久人妻熟妇精品无码蜜桃| 亚洲韩国中文字幕| 色婷婷在线观看视频| 搡BBB,搡BBBB,搡BBBB| 色婷婷激情在线| 黄色视频在线网站| 高清无码视频网站| 女邻居的B好大| 亚洲日韩成人在线| 大香蕉啪啪啪| 亚洲欧美日韩另类| 人人看人人摸人人操| 日韩在线二区| 亚洲一卡二卡| 欧美视频久久| 91久久综合亚洲鲁鲁五月天| 婷婷丁香花| 一区二区色| 91丨九色丨蝌蚪丨对白| 久久久亚洲无码精品| 国内综合久久| 99东京热| 日本成人激情视频| 思思热在线观看视频| 国产黄片自拍| 激情综合婷婷久久| 操久久久久久| sm在线| 高清无码免费| wwwAV在线观看| 国产精品久久久久久久久| 一级a片在线播放| 成人三级片免费| 欧美激情DVD| 欧洲操逼视频| 日韩三级AV在线观看| 99福利| 欧美人操逼一二区| 久久色播| 老鸭窝av免费入口在线观看| 日韩不卡一区| 国产做受精品网站在线观看| 九九精品在线观看| 欧美性猛交XXXX乱大交| 一级欧美一级日韩片| 翔田千里无码视频| 在线免费看a| gogogo免费高清在线偷拍| 999免费视频| XX熟女HD| 日韩免费高清视频| 日韩精品毛片| 91免费视频网站| 99热免费精品| 亚洲中文字幕在线观看| 看肏屄视频| 特级婬片A片AAA毛片AA做头| 超级碰碰碰碰碰碰碰碰碰| 三级网站网址| 影音先锋资源| 欧美一区三区| 西西444www大胆高清图片| 美女黄网站| 中文字幕无码观看| 少妇一区二区三区| ww毛片| 日韩欧美不卡色不卡| 久久久精品免费视频| 一级片黑人| 日本不卡视频在线| 成人网站一区二区| 人妻免费视频| 青青草逼视频| 黄色大片AV在线| 一起草在线视频| 日韩资源网| 99热都是精品| 成年人免费毛片| 性爱视频网址| 欧美成人大片| 怡春院熟女精品AV| 91麻豆精品91久久久ios版| AAA一区二区三区| 国产56页| 欧美插菊花综合网| 女人自慰网站在线观看| 成人无码三级| 婷婷日韩在线| 第一色影院| A级毛片视频| 亚洲综合婷婷| 一区二区国产视频| 免费看A| 日日搔AV一区二区三区| 美女一级变态毛片| 91免费高清视频| 性性性性性XXXXX| 五月天无码视频| 男女无套在线观看免费| 91色色网| 蜜桃AV一区二区三区| 国产精品资源在线观看| 手机看片福利| 一区二区无码免费| 怡红院麻豆| 欧美在线一区二区三区| 青青草原在线免费| 性做久久久久久| 久久黄色网址| 亚洲精品自拍偷拍| 亚洲AV成人片色在线观看麻豆| 日韩人妻中文| 梁祝艳谭A级毛片| 国产乱子伦真实精品| 91蜜桃婷婷狠狠久久综合9色| 亚洲爆乳无码一区二区三区 | 五月丁香啪| 欧美1区2区| 在线播放日韩| 九九在线视频| 欧美色伊人| 男人天堂色男人| 一区二区三区福利| 啪啪啪网站| 欧美少妇视频| 第四色视频| 国产欧美日韩| 一级一级一级做a免费一级做a| 一级婬片A片AAAAA毛片| 色老板网站| 成年女人免费视频| 91破处网站| 久热中文字幕| 操碰视频在线| 国产小视频在线看| 中文字幕高清AⅤ| 亚洲天堂2025| 日本道在线视频| 青青青在线| 嘿嘿午夜| 特黄特色大片BBBB| 日本家庭乱伦视频| 中国操逼网| 久草国产视频| 国产精品夜夜爽7777777| 女人av天堂| 求毛片网址| 蜜桃av秘无码一区二区三区| 亚洲欧美成人网站| 老熟女搡BBBB搡BBBB视频 | 国外成人性视频免费| 日本少妇bbw| 苍井空一区| 久草视频网| 99热一区二区三区| 国产无码AV大片| 北条麻妃高清无码| www高清无码| 激情黄色毛片| 性v天堂| 久久三| 91爱搞在线| 操久久久久久| www.911国产| 色资源站| 久久精品婷婷| 欧美成人视频电影无码高清| 一区二区三区高清无码| 国产欧美在线看| 天天色天天色| 正在播放李彩斐被洋老外| 性爱二区| 校园春色亚洲无码| 爽爽午国产浪潮AV性色www| 人操人| 国产精品片| 九九碰九九爱97超碰| 日本电影一区二区三区| 亚洲精品无码中文| 欧美在线免费视频| a免费视频在线观看| 午色婷婷国产无码| 国产123区| ThePorn日本无码| 乱视频| 色欲av网站| 久久久精品999| 国产免费视频69| 五月天婷婷色| 日本乱伦中文字幕| 中文字幕乱码中文字幕| 亚洲一级二级三级片| 手机看片1024你懂的| 色臀av| 日韩美女毛片| www日韩| 久久精品三级| 日韩中文欧美| 成人视频在线观看黄色18| 日本成人一区二区三区| 大香蕉精品欧美色综合2025| 亚洲无码免费观看| 99热这里都是精品| 精品欧美成人片在线| 91免费观看国产| 四川w搡BBB搡wBBB搡| 欧美日韩在线电影| 我爱大香蕉| 黄色视频在线观看大全| 日本女优婷婷青青草原| 免费一级无码婬片A片APP直播| 久久久久一| 91av一区| 欧美wwwww| 一本一道vs波多野结衣| 欧美激情在线| 国产精品人妻AⅤ在线看| 求欧美精品网址| 天堂8在线视频| 老鸭窝久久| 亚洲黄色电影| jizz在线观看视频| 丁香五月激情小说| 成人午夜在线视频| 女人av天堂| 天天操视频网站| 麻豆传媒猫爪| 777在线视频| 播五月婷婷| 色色婷婷五月| 91精品国产一区二区三区| 四虎无码视频| 婷婷五月999| 亚洲AV秘无码一区浜崎りお| 国产va在线观看| 91午夜视频| 天天艹逼| 高清无码视频网站| 91人人看| 一区二区三区四区在线看| 色色激情网| 国产精品人妻无码久久久郑州天气网 | 久久久无码视频| 日韩欧美在线不卡| 青娱乐偷拍视频| 五月天无码在线| 欧美成人毛片一级A片| 亚洲v在线观看| 国产精品污www在线观看| 亚洲成人AV电影| 欧美日韩不卡视频| 一级欧美黑人大战白妞| 超碰人妻97| 大香蕉网伊人在线| 日韩一级成人片| 91精品无码一区二区| 麻豆自拍偷拍视频| 欧美婬乱片A片AAA毛片地址| 性淫影院| 欧美性爱手机在线| 黄色高清无码视频| 成人网站免费视频| 99久久精品国产一区二区成人| 高清无码网址| 大地99中文在线观看| 日本成人无码| 激情av在线| 狼友在线观看| 精品福利视频导航| 日韩Av无码一区二区三区不卡| 一区二区三区无码视频| 欧美三级在线| 韩国中文字幕HD久久精品| 亚洲精品国产精品乱码视99| 国产欧美欧洲| 亚洲无码你懂的| 欧美高清一区二区| 2025无码视频| 国产伦精品一区二区三区视频女 | 欧美精品无码一区二区| 无码人妻91| 中文字幕永久在线视频| jt33免费观看高清| Av黄色| 四色永久成人网站| 激情伊人五月天| 成人无遮挡| 嫩草在线视频| 国产秘久久一区二区| 青青草视频在线观看| 久久久桃色| 操小逼视频| 人人操人人人| 精品人妻一区二区三区阅读全文| 欧一美一色一伦一A片| 免费乱伦视频| 在线中文字幕视频| 天天日天天干天天操| 五月婷婷开心| 成人AV午夜福利| 久久国产热视频| 美女肏| 伊人久久影院| 国产免费视频69| 国产福利美女网站| 啪啪免费网| 欧美性BBB槡BBB槡BBB| 黄色一级a片| 综合伊人| 天天色图片| 免费日韩黄色电影| 久久黄色小视频| 国产资源av| 久久嫩草在线影院| 日韩精品免费一区二区在线观看| 国产一级a毛一级a毛观看视频网站www.jn | 尤物看片| 欧美熟女在线| 国产亚洲Av| 婷婷色在线| 啊啊嗯嗯视频| 人人澡人人摸| 日韩人妻AV| 黄色小视频免费看| 免费无码在线看| 久久久久一区二区三区| 人人爱人人摸人人操| 一级a一级a爱片免费视频| 欧美无人区码suv| 亚洲欧美另类图片| AV黄色在线| 蜜桃秘av一区二区三区安全| 一级免费毛片| 成人中文字幕在线视频| 欧美人人爱| 久久国产精品网站| 国精品无码人妻一区二区三区免费 | 欧美成人福利| 日本大香蕉视频| 久久久人妻无码精品蜜桃| 少妇AV| 中文国产| 亚洲天堂美女| 特级西西444www精品视频| 麻豆国产91在线播放| 亚洲AV资源在线| 婷婷深爱五月| 亚洲欧美成人在线| 亚洲日韩精品成人无码专区AV| 日本综合视频| 大香蕉综合| 无码五月天| 天天艹夜夜艹| 人妻熟女视频| 熟女人妻在线| 岛国免费av| 成人A片在线播放| 欧美3p视频| 天天干天天干天天日| 白峰美羽人妻AND-499| 午夜精品人妻无码| 插吧插吧网| 国产又粗又猛又黄又爽无遮挡| 日韩高清无码毛片| 日韩视频在线免费观看| 日韩av成人| 999一区二区三区| 91视频在线| 人人人人人人操| 内射无码专区久久亚洲| 狠狠操一区| 天天摸天天干| 亚洲色情视频| 3D动漫操逼视频| 精品视频国产| 国产性精品| 黄色免费观看网站| 国产精品久久久久久久久久乐趣播| 在线播放a| 91香蕉麻豆| 亚洲国产成人va| 日韩免费视频观看| 麻豆一区二区| 极品少妇久久久| 毛片一级| 先锋AV资源网| 亚洲欧美视频在线| 黄色A片网| 欧美午夜成人一区二区三区| 日韩成人片| 亚洲色操| 99久久久99久久91熟女| 亚洲国产视频一区| 亚洲久久久久| 男女午夜| 欧美拍拍视频| 18成人在线观看| 国产精品国产精品国产专区 | 波多野结衣一区| 成人精品秘久久久按摩下载| 日本中文字幕电影| av在线小说| 国产成人精品视频免费| 在线不卡无码| 国产成人三级片| 嫩BBB槡BBBB槡BBBB| 丁香五月激情小说| 久久久久国产精品视频| 日韩无码人妻一区二区| 亚洲三级无码视频| 毛片毛片毛片毛片毛片毛片| 国产卡一卡二在线观看| 中文字幕在线日亚洲9| 日产久久久久久| 青草精品| 香蕉视频a| 肏屄在线视频| 日韩中文字幕专区| 国产一级二级三级| 久久久久久五月天| 久久久国产视频| 玖玖爱免费视频| 欧美操逼免费视频| 日韩无码免费播放| 超碰人妻人人操| 在线观看亚洲视频| 女同久久另类99精品国产91 | 男人的天堂视频| 性色A| 狼友在线视频| 色婷婷五月天在线观看| 成人手机看片| 好吊视频一区二区| 一区二区三区在线视频观看| 99欧美| 乱子伦国产精品www| 操逼视频国产91| 日韩亚洲在线| 日本一级特级毛片视频| 日本高清无码| 日韩人妻AV| 又爽又黄免费网站97双女| 久久视频免费看| 午夜福利100理论片| 抠骚逼| 97人妻一区二区三区| 欧美色图俺去了| 五月天黄色电影| 91秦先生在线播放| 在线操逼视频| 怡红院成人网| 美女免费网站| 波多野结衣无码AV专区| 人妻大香蕉| 成人AV十八亚洲二区| 日本一区二区三区四区在线观看| 成人网站视频在线观看| 无码无码一区二区三区| 国产AV高潮| 国产福利网站| 亚洲免费小电影| 欧美中文字幕| 99无码国产成人精品| 在线视频A| 一本一道久久a久久精品综合| 91在线日韩| 摸BBB搡BBB搡BBBB| 靠逼国产| 高清无码视频网站| 天天骑夜夜操| 91在线视频免费| 亚洲精品无码在线播放| 天堂国产| 亚洲午夜无码久久久| 少妇在线视频| 岛国AV在线播放| 欧美一区二区三区系列电影| 亚洲美女喷水视频| 久久系列| www.17c嫩嫩草色蜜桃网站| 亚洲成人在线网| 成人免费一级视频| 日韩免费| 亚洲无码制服| 黄色视频免费国产| 超碰人妻97| 久久大| 欧美伊人| 午夜精品久久久久久久99热精东| 五月激情六月| eeuss一区| 欧美性交一区二区| 亚洲区在线播放| 亚洲网站免费| 广东BBW搡BBBB搡| 五月亚洲六月婷婷| 成人性爱免费网站| 在线免费黄| 国产成人亚洲日韩| 久久艹精品视频| 抽插免费视频| 国产青青| 大香蕉网站在线观看| 欧美熟妇高潮流白浆| 草b视频| 欧美日韩中文字幕无码| a在线| 日韩乱妇| 人人爽人人爽人人爽| 国产一区二区久久| 男女av网站| 欧美v日韩| 阿宾MD0165麻豆沈娜娜| 操鸡视频在线观看| 牛牛精品视频| 97国产视频| 成人综合大香蕉| 婷婷五月无码| 国产伦子伦一级A片免费看小说| 伊人网在线免费视频| 亚洲尤物在线| 91香蕉国产| 麻豆精品传媒国产剧的特点 | 日韩无码电影网| 天天搞搞| 欧美日韩免费在线| 91拍真实国产伦偷精品| 麻豆精品在线播放| 日韩免费小视频| 一区二区三区四区久久| 国产无遮挡又黄又爽在线观看 | 欧美精品日韩在线观看| 欧美视频一区二区三区| 成人做爰100片免费着| 91人妻最真实刺激绿帽| 手机AV在线| 日韩V片| 综合色婷婷| 久久久久久久人妻丝袜| 欧美高清一区二区| 巜痴漢電車~凌脔版2| 无码免费观看| 爱爱综合| 七十路の高齢熟女千代子| 国产浮力草草| 色噜噜人妻av中文字幕| 亚洲AV永久无码精品| 五月天亭亭.com| 99亚洲天堂| 日韩福利在线观看| 欧美日韩h| 一级黄色操逼视频| 亚洲AV成人片无码网站| 一级aa免费视频| 日本天堂在线| 国产亚洲久一区二区| 国产1级片| 97人妻视频| 婷婷视频网站| 草草视频在线观看| 亚洲国产精品视频| 综合色五月| 国产一级片视频| 香蕉国产AV| 亚洲无码一卡二卡| 西西888WWW大胆无码|