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個屬性 必須掌握...