python修改檔案屬性

2021-10-09 14:14:03 字數 2369 閱讀 6957

1、將指定路徑下檔案全部重新命名

需要將指定路徑下的所有檔案進行重新命名,修改檔案的屬性。

import os

#'''os.walk遍歷指定路徑,dirpath為指定路徑遍歷後的各子路徑,dirnames為每一子路徑下包含的資料夾列表,filenames為每一子路徑下包含的檔案列表。。

os.path.split分割檔案的名稱和型別,型別是以.***結尾的檔案型別。

用os.path.join而不用分隔符適配不同的作業系統

'''for dirpath, dirnames, filenames in os.walk(self.filepathdir): #self.filepathdir為資料夾路徑

for file in filenames:

filename, type = os.path.splitext(file)

os.rename(os.path.join(dirpath,file), os.path.join(dirpath, filename + '.v') )

2、修改檔案時間屬性

需要修改某一路徑下所有檔案的最後修改時間,改寫了下面的例子。

from win32file import createfile, setfiletime, getfiletime, closehandle

from win32file import generic_read, generic_write, open_existing

from pywintypes import time

import time

def modifyfiletime(filepath,offset,createtime=none,modifytime=none,accesstime=none):

""":param filepath: 檔案路徑名

:param createtime: 建立時間

:param modifytime: 修改時間

:param accesstime: 訪問時間

:param offset: 時間偏移的秒數,tuple格式,順序和引數時間對應

"""try:

format = "%y-%m-%d %h:%m:%s" #時間格式

fh = createfile(filepath, generic_read | generic_write, 0, none, open_existing, 0, 0)

createtimes, accesstimes, modifytimes = getfiletime(fh)

if createtime is not none:

ctime_t = timeoffsetandstruct(createtime,format,offset[0])

createtimes = time(time.mktime(ctime_t))

if modifytime is not none:

mtime_t = timeoffsetandstruct(modifytime,format,offset[1])

modifytimes = time(time.mktime(mtime_t))

if accesstime is not none:

atime_t = timeoffsetandstruct(accesstime,format,offset[2])

accesstimes = time(time.mktime(atime_t))

setfiletime(fh, createtimes, accesstimes, modifytimes)

closehandle(fh)

return 0

except:

return 1

def timeoffsetandstruct(times,format,offset):

return time.localtime(time.mktime(time.strptime(times, format)) + offset)

#呼叫mtime = "2020-04-01 00:01:03" # 修改時間

offset = (0,1,2) # 偏移的秒數

for dirpath, dirnames, filenames in os.walk(logdirector):

for file in filenames:

filepath = os.path.join(dirpath, file)

r = modifyfiletime(filepath, offset, modifytime= mtime)

if r == 0:

print('修改完成')

if r == 1:

print('修改失敗')

cmd 修改檔案屬性

現在的病毒基本都會採用一種方式,就是將病毒檔案的屬性設定為系統 隱藏屬性以逃避一般使用者的眼睛,而且由於windows系統的關係,這類檔案在圖形介面下是不能修改其屬性的。但是好在windows還算做點好事,留下了乙個attrib命令可以讓我們在cmd下執行,從而實現修改檔案屬性的目的。在這裡把att...

svn修改檔案屬性

在svn add操作之後經常會出現被誤認為是二進位制檔案的情況,這時候可能通過svn propget來獲取檔案屬性,完整的命令為 svn propget svn mime type a.txt 如果發現與自己預期的不一致,則可以通過svn propset來設定,完整命令為 svn propset s...

Linux 修改檔案屬性

1.chgrp chanage group 更改檔案屬組chgrp r 屬組名 檔名2.chown chanage owner 更改檔案屬主,也可以同時更改檔案屬組chown r 屬主名 檔名 chown r 屬主名 屬組名 檔名3.chmod chanage owner 更改檔案9個屬性 必須掌握...