最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python 實(shí)現(xiàn)百度網(wǎng)盤(pán)非會(huì)員上傳超過(guò)500個(gè)文件的方法

 更新時(shí)間:2021年01月07日 11:57:44   作者:武散人  
這篇文章主要介紹了python 實(shí)現(xiàn)百度網(wǎng)盤(pán)非會(huì)員上傳超過(guò)500個(gè)文件的方法,幫助大家更好的利用python解決問(wèn)題,感興趣的朋友可以了解下

案例故事:

百度網(wǎng)盤(pán)非會(huì)員大量上傳文件,會(huì)彈出:“上傳文件數(shù)量超出500個(gè)現(xiàn)在,開(kāi)通超級(jí)會(huì)員后可繼續(xù)上傳”,其實(shí)是限制拖入500張相片,并非限制上傳500張。

非會(huì)員如何將眾多文件,分割成500一個(gè)的文件夾,不受拖入數(shù)量限制呢?

準(zhǔn)備階段

  • os.walk()函數(shù),可以樹(shù)形遍歷整個(gè)路徑下的文件夾列表和文件列表
  • Path(路徑).parent屬性,可以獲取該“路徑”的父路徑
  • os.path.relpath("D:\aaa\bbb\ccc",start="D:\aaa")函數(shù),可以返回“bbb\ccc”字符串, 實(shí)現(xiàn)路徑裁剪。
  • os.sep 可以代表任何路徑分隔符
  • os.rename()函數(shù),可以實(shí)現(xiàn)移動(dòng)功能
  • sys.argv[1] 通過(guò)接收“待分割的路徑”參數(shù)的輸入

Python面向?qū)ο箢?lèi)形式

# python3.8
# coding=utf-8
 
import os
import sys
from pathlib import Path
 
 
class BaiduPanCutter(object):
  '''百度網(wǎng)盤(pán)500個(gè)文件分割器'''
 
  def __init__(self, root_path, count=500):
    self.root_path = root_path
    self.count = count
    self.folder_file_dict = {} # 文件夾與其文件列表的映射字典
    self.get_folders_files() # 獲取該根路徑下的所有文件夾列表和文件列表
 
  def get_folders_files(self):
    '''獲取該根路徑下的所有文件夾列表和文件列表'''
    for folders, _, files in os.walk(self.root_path):
      self.folder_file_dict[folders] = files
 
  def _split(self, arr, count):
    '''分割文件列表,每500算一份'''
    arrs = []
    while len(arr) > count:
      piece = arr[:count]
      arrs.append(piece)
      arr = arr[count:]
    arrs.append(arr)
    return arrs
 
  # 分割文件并放到新的文件去
  def cut_file(self):
    '''分割并移動(dòng)到新的文件夾'''
    for each_folder in self.folder_file_dict.keys():
      num = 1 # 以500為倍數(shù),這是1倍
 
      # 將文件路徑(摒棄當(dāng)前路徑)轉(zhuǎn)成字符串,用_隔開(kāi)
      temp_path = os.path.relpath(each_folder, Path(self.root_path).parent)
      temp_path = temp_path.replace(os.sep, "_")
      print(temp_path)
 
      files_list = self.folder_file_dict[each_folder]
      file_group = self._split(files_list, self.count) # 按500來(lái)分割
 
      if len(file_group) > 1: # 有超過(guò)500個(gè)的文件列表
        for each_group in file_group: # 遍歷每500份的文件列表
          new_folder = os.path.join(self.root_path, temp_path + "_" + str(num)) # 新路徑
          if not os.path.exists(new_folder):
            os.mkdir(new_folder)
          for each_file in each_group:
            old_file = os.path.join(each_folder, each_file)
            new_file = os.path.join(new_folder, each_file)
            print("正在將%s 移動(dòng)到 %s" % (old_file, new_file))
            os.rename(old_file, new_file)
          num = num + 1
      else: # 無(wú)超過(guò)500個(gè)的文件列表
        new_folder = os.path.join(self.root_path, temp_path) # 新路徑
        if not os.path.exists(new_folder):
          os.mkdir(new_folder)
        for each_file in file_group[0]: #
          old_file = os.path.join(each_folder, each_file)
          new_file = os.path.join(new_folder, each_file)
          print("正在將%s 移動(dòng)到 %s" % (old_file, new_file))
          os.rename(old_file, new_file)
 
 
if __name__ == '__main__':
  try:
    arg1 = sys.argv[1]
    if os.path.isdir(arg1):
      b_obj = BaiduPanCutter(arg1, 500)
      b_obj.cut_file()
    else:
      print("非文件夾,運(yùn)行方法:python %s 路徑文件夾" % sys.argv[0])
  except IndexError:
    print("未輸入待分割的路徑文件夾, 運(yùn)行方法:python %s 路徑文件夾" % sys.argv[0])
  os.system("pause")

運(yùn)行方式與效果

運(yùn)行方式:將以上代碼命名為:baidu_pan_500_cutter.py
通過(guò)命令:python baidu_pan_500_cutter.py D:\DCIM\Photos 運(yùn)行

每個(gè)文件夾都不會(huì)超過(guò)500個(gè)文件,后續(xù)將一個(gè)一個(gè)的文件夾拖入百度網(wǎng)盤(pán)(電腦客戶(hù)端)即可了。

備注信息

  • 本腳本不涉及任何的刪除文件或文件夾的操作,不會(huì)出現(xiàn)文件丟失情況。
  • 兼容非英文的文件夾或文件分割操作。

以上就是python 實(shí)現(xiàn)百度網(wǎng)盤(pán)非會(huì)員上傳超過(guò)500個(gè)文件的詳細(xì)內(nèi)容,更多關(guān)于python 百度網(wǎng)盤(pán)上傳超過(guò)500個(gè)文件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 對(duì)python字典元素的添加與修改方法詳解

    對(duì)python字典元素的添加與修改方法詳解

    今天小編就為大家分享一篇對(duì)python字典元素的添加與修改方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • 詳解Python調(diào)用華為API實(shí)現(xiàn)圖像標(biāo)簽

    詳解Python調(diào)用華為API實(shí)現(xiàn)圖像標(biāo)簽

    華為云圖像標(biāo)簽可識(shí)別上千種通用物體以及數(shù)百種場(chǎng)景標(biāo)簽,一個(gè)圖像可包含多個(gè)標(biāo)簽內(nèi)容,語(yǔ)義內(nèi)容非常豐富。本文將通過(guò)Python調(diào)用華為API實(shí)現(xiàn)圖像標(biāo)簽,需要的可以參考一下
    2022-04-04
  • Python中數(shù)組遍歷的方法總結(jié)

    Python中數(shù)組遍歷的方法總結(jié)

    數(shù)組是編程中經(jīng)常使用的數(shù)據(jù)結(jié)構(gòu),用于存儲(chǔ)和操作一組元素,Python提供了多種方法來(lái)遍歷數(shù)組,本文將深入探討這些方法,提供詳細(xì)的示例代碼,希望對(duì)大家有所幫助
    2023-11-11
  • Python global全局變量函數(shù)詳解

    Python global全局變量函數(shù)詳解

    本文詳解了global全局變量函數(shù)的用法,還有g(shù)lobal的作用。global全局變量在一個(gè)腳本中全部作用域都可以訪問(wèn),用法很方便,希望本文對(duì)大家有所幫助
    2018-09-09
  • PageFactory設(shè)計(jì)模式基于python實(shí)現(xiàn)

    PageFactory設(shè)計(jì)模式基于python實(shí)現(xiàn)

    這篇文章主要介紹了PageFactory設(shè)計(jì)模式基于python實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • python處理文本文件并生成指定格式的文件

    python處理文本文件并生成指定格式的文件

    本節(jié)主要介紹了python如何處理文本文件并生成指定格式的文件,需要的朋友可以參考下
    2014-07-07
  • 對(duì)pandas的算術(shù)運(yùn)算和數(shù)據(jù)對(duì)齊實(shí)例詳解

    對(duì)pandas的算術(shù)運(yùn)算和數(shù)據(jù)對(duì)齊實(shí)例詳解

    今天小編就為大家分享一篇對(duì)pandas的算術(shù)運(yùn)算和數(shù)據(jù)對(duì)齊實(shí)例詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • Python如何進(jìn)行時(shí)間處理

    Python如何進(jìn)行時(shí)間處理

    這篇文章主要介紹了Python如何進(jìn)行時(shí)間處理,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-08-08
  • python爬蟲(chóng)selenium和phantomJs使用方法解析

    python爬蟲(chóng)selenium和phantomJs使用方法解析

    這篇文章主要介紹了python爬蟲(chóng)selenium和phantomJs使用方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • python批量處理打開(kāi)多個(gè)文件

    python批量處理打開(kāi)多個(gè)文件

    這篇文章主要介紹了python批量處理打開(kāi)多個(gè)文件,文章圍繞主題的相關(guān)內(nèi)容展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-06-06

最新評(píng)論

巴彦县| 庄浪县| 左权县| 肥东县| 和平区| 蒙山县| 铜山县| 昌平区| 泽库县| 西安市| 大冶市| 五莲县| 台北县| 大同市| 高安市| 金沙县| 留坝县| 望江县| 循化| 梧州市| 珠海市| 开原市| 连云港市| 孙吴县| 前郭尔| 齐河县| 潢川县| 荔浦县| 泰宁县| 铜川市| 德令哈市| 宁乡县| 禹州市| 于田县| 伊通| 荆门市| 聂拉木县| 青河县| 静安区| 丽水市| 枣庄市|