免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
python 獲取當(dāng)前目錄下文件
  今天繼續(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()

  獲取的文件名、目錄信息會(huì)在當(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


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

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

"""os.walk(path),遍歷path,返回一個(gè)對(duì)象,
他的每個(gè)部分都是一個(gè)三元組,
('目錄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

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

  下面是另外一個(gè)增強(qiáng)版本,主要實(shí)現(xiàn)了遍歷給定目錄下所有文件,并計(jì)算所有文件的 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()

  運(yùn)行后 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)載,請(qǐng)注明原文地址:http://vipscu.blog.163.com/blog/static/181808372201221121244906/
  

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Python 文件與目錄操作方法總結(jié)
Python 文件處理:完整指南,一文夠了
python下編譯py成pyc和pyo
Django-最流行的Python WEB框架
py
Python學(xué)習(xí)筆記 | 辦公自動(dòng)化基礎(chǔ)之文件和文件夾操作
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服