乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      python 獲取當(dāng)前目錄下文件

       panhoy 2015-03-25
        今天繼續(xù)整理原來寫的 python 代碼,下面是獲取文件信息的 python 處理代碼。
        獲取指定目錄下文件的文件名以及文件的數(shù)量,然后列出其中還存在的目錄名稱:

      #!/usr/bin/env python2
      #-*-encoding:utf-8-*-

      import os,sys
      def listdir(dir,file):
      file.write(dir + '\n')
      fielnum = 0
      list = os.listdir(dir) #列出目錄下的所有文件和目錄
      for line in list:
      filepath = os.path.join(dir,line)
      if os.path.isdir(filepath): #如果filepath是目錄,則再列出該目錄下的所有文件
      myfile.write(' ' + line + '//'+'\n')
      for li in os.listdir(filepath):
      myfile.write(' '+li + '\n')
      fielnum = fielnum + 1
      elif os.path: #如果filepath是文件,直接列出文件名
      myfile.write(' '+line + '\n')
      fielnum = fielnum + 1
      myfile.write('all the file num is '+ str(fielnum))
      dir = raw_input('please input the path:')
      myfile = open('list.txt','w')
      listdir(dir,myfile)
      myfile.close()

        獲取的文件名、目錄信息會在當(dāng)前路徑下生成 list.txt 的文件。文件內(nèi)容如下:

      G:\codes\python\file_info
      list.txt
      list2.txt
      list_filenames.py
      list_filenames2.py
      list_files+.py
      test//
      g.txt
      mmm.pptx
      test2//
      list.txt
      test3
      all the file num is 9


        下面是上面程序的升級版本,遍歷了當(dāng)前目錄下的文件夾,繼續(xù)執(zhí)行遍歷文件名的命令。

      #!/usr/bin/env python2
      #-*-encoding:utf-8-*-

      """os.walk(path),遍歷path,返回一個對象,
      他的每個部分都是一個三元組,
      ('目錄x',[目錄x下的目錄list],目錄x下面的文件)"""

      import os
      def walk_dir(dir,fileinfo,topdown=True):
      for root, dirs, files in os.walk(dir, topdown):
      for name in files:
      print(os.path.join(name))
      fileinfo.write(os.path.join(root,name) + '\n')
      for name in dirs:
      print(os.path.join(name))
      fileinfo.write(' ' + os.path.join(root,name) + '\n')
      dir = raw_input('please input the path:')
      dir = r'G:\codes\python\file_info'
      fileinfo = open('list2.txt','w')
      walk_dir(dir,fileinfo)
      fileinfo.close()

        shell 打印出來的結(jié)果是:

      >>> ================================ RESTART ================================
      >>>
      please input the path:G:\codes\python\file_info
      list.txt
      list2.txt
      list_filenames.py
      list_filenames2.py
      list_files+.py
      test
      test2
      g.txt
      mmm.pptx
      list.txt
      test3
      234.txt

        執(zhí)行文件目錄中 list2.txt 中的內(nèi)容是:

      G:\codes\python\file_info\list.txt
      G:\codes\python\file_info\list2.txt
      G:\codes\python\file_info\list_filenames.py
      G:\codes\python\file_info\list_filenames2.py
      G:\codes\python\file_info\list_files+.py
      G:\codes\python\file_info\test
      G:\codes\python\file_info\test2
      G:\codes\python\file_info\test\g.txt
      G:\codes\python\file_info\test\mmm.pptx
      G:\codes\python\file_info\test2\list.txt
      G:\codes\python\file_info\test2\test3
      G:\codes\python\file_info\test2\test3\234.txt

        是目錄的地方行首空了一定的位置。

        下面是另外一個增強版本,主要實現(xiàn)了遍歷給定目錄下所有文件,并計算所有文件的 MD5 值,然后將文件 MD5 值和文件名保存在目錄下的 list3.txt 文件中,代碼如下:

      #!/usr/bin/env python2
      #-*-encoding:utf-8-*-

      import os
      import sys
      import md5

      def walk_dir(dir,fileinfo,topdown=True):
          for root, dirs, files in os.walk(dir, topdown):
              for name in files:
                  path = os.path.join(root,name)
                  md5v = sumfile(path)
                  newpath = path.replace(dir,'')
                  fileinfo.write(newpath + ':' + md5v + '\n')

      def sumfile(fpath):
          m = md5.new()
          fobj = open(fpath)
          while True:
              d = fobj.read(8096)
              if not d:
                  break
              m.update(d)
          return m.hexdigest()

      #獲取腳本文件的當(dāng)前路徑
      def cur_file_dir():
          #獲取腳本路徑
          path = sys.path[0]
          #判斷為腳本文件還是py2exe編譯后的文件,如果是腳本文件,則返回的是腳本的目錄,如果是py2exe編譯后的文件,則返回的是編譯后的文件路徑
          if os.path.isdir(path):
              return path
          elif os.path.isfile(path):
              return os.path.dirname(path)
      #打印結(jié)果
      print cur_file_dir()

      def main():
          #dir = raw_input('please input the path:')
          dir = cur_file_dir()
          fileinfo = open('list3.txt','w')
          walk_dir(dir,fileinfo)

      if __name__ == '__main__':
          main()

        運行后 list3.txt 文件中的內(nèi)容如下:

      \list.txt:0a732356981d24beab0d0c1c4092b2a7
      \list2.txt:6cebc24b3a996be27c732557a2ce545f
      \list3.txt:d41d8cd98f00b204e9800998ecf8427e
      \list_filenames.py:9201c1eefcaf2fd04478cc2b6430c678
      \list_filenames2.py:ca3f74bdb0a5485dd5d95d77da80141b
      \list_files+.py:720d569d2f07f0c80e0d695db31749ab
      \test\g.txt:d41d8cd98f00b204e9800998ecf8427e
      \test\mmm.pptx:6f0e81ad84c22838337f0f619080e7f2
      \test2\list.txt:d41d8cd98f00b204e9800998ecf8427e
      \test2\test3\234.txt:d41d8cd98f00b204e9800998ecf8427e


        歡迎轉(zhuǎn)載,請注明原文地址:http://vipscu.blog.163.com/blog/static/181808372201221121244906/
        

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多