一、單個資料夾建立:os.mkdir
import os
if os.path.exists(r'e:\python測試資料\excel檔案') == false:
os.mkdir(r'e:\python測試資料\excel檔案')
print('資料夾建立成功!')
else:
print('資料夾已存在!')
二、多層資料夾建立:os.makedirs
import os
fld = r'e:\aaa\bbb\ccc\ddd\eee\fff\ggg'
if os.path.exists(fld) == false:
os.makedirs(fld)
print('資料夾建立成功!')
else:
print('資料夾已存在!')
三、shutil模組—複製1.複製檔案
import os
import shutil
src = r'e:\python測試資料\excel檔案\位址1'
dst = r'e:\python測試資料\excel檔案\位址2'
shutil.copy(src+'/demo.xlsx',dst)
如果需要把檔案的相關建立時間也複製過來,把shutil.copy改為shutil.copy2就可以了。
如果需要複製檔案並進行改名,第二個引數直接改就可以:
shutil.copy2(src+'/demo.xlsx',dst+'/123.xlsx')
2.複製資料夾
import os
import shutil
src = r'e:\python測試資料\excel檔案\位址1\demo資料夾'
dst = r'e:\python測試資料\excel檔案\位址2\demo'
shutil.copytree(src,dst)
上面的功能就是把位址1 中的demo資料夾複製到了位址2資料夾下面,並把資料夾改名為demo(裡面的檔案也一起複製過來了)
四、shutil模組—剪下
剪下檔案和複製檔案用法幾乎一模一樣
import os
import shutil
src = r'e:\python測試資料\excel檔案\位址1'
dst = r'e:\python測試資料\excel檔案\位址2'
shutil.move(src+'/demo.xlsx',dst)
剪下資料夾和複製資料夾用法也幾乎一模一樣,就不列出來了。
把shutil.copytree改為shutil.move就可以了。
五、shutil模組—刪除資料夾
import os
import shutil
dst = r'e:\python測試資料\excel檔案\位址2'
shutil.rmtree(dst)
六、重新命名檔案和資料夾檔案改名的話,用os.rename方法就可以
import os
src = r'e:\python測試資料\excel檔案\位址1\demo.xlsx'
os.rename(src,'e:\python測試資料\excel檔案\位址1\測試.xlsx')
因為rename第二個引數是位址+檔名的形式,所以可以通過更改第二個引數內容更改要存放的地方,相當於剪下並改名~
os.rename(src,'e:\python測試資料\excel檔案\位址2\測試.xlsx')
這樣就把檔案從位址1移動到位址2上面,並改了名字
七、小練習:
根據檔案的建立日期更改檔名稱,在檔案前面新增個日期
我開始想著這樣操作(錯誤示範):
import os
import datetime as dt
fld = 'e:\python測試資料\excel檔案'
def 批量改名(fld):
for f in os.scandir(fld):
if os.path.isdir(f):
批量改名(fld)
else:
mydt = dt.datetime.fromtimestamp(f.stat().st_mtime)
mydt = str(mydt.year) + "-" + str(mydt.month) + "-" + str(mydt.day)
f.name = mydt + f.name
批量改名(fld)
然後呢,f.name是唯讀屬性,也就是說這樣改是改不了的~需要用到os.rename方法進行更改。
另外需要注意的是,更改檔名稱的os.rename第二個引數是需要加上檔案所在資料夾名稱,所以要用到os.path.dirname獲取所在的資料夾
正確示範:
import os
import datetime as dt
fld = r'e:\python測試資料\excel檔案'
def 批量改名(fld):
for f in os.scandir(fld):
if os.path.isdir(f):
批量改名(fld)
else:
mydt = dt.datetime.fromtimestamp(f.stat().st_ctime)
mydt = str(mydt.year) + "-" + str(mydt.month) + "-" + str(mydt.day) + f.name
res = str(os.path.dirname(f)) + "\\" + f.name
dst = str(os.path.dirname(f)) + "\\" + mydt
os.rename(res,dst)
批量改名(fld)
ssh scp 複製檔案和資料夾
複製檔案 1 將本地檔案拷貝到遠端 scp 檔名使用者名稱 計算機ip或者計算機名稱 遠端路徑 本地192.168.1.8客戶端 scp root install.root 192.168.1.12 usr local src 2 從遠端將檔案拷回本地 scp 使用者名稱 計算機ip或者計算機名稱 ...
ssh scp 複製檔案和資料夾
三,複製檔案或目錄命令 複製檔案 1 將本地檔案拷貝到遠端 scp 檔名使用者名稱 計算機ip或者計算機名稱 遠端路徑 本地192.168.1.8客戶端 scp root install.root 192.168.1.12 usr local src 2 從遠端將檔案拷回本地 scp 使用者名稱 計...
Linux檔案和資料夾複製
linux檔案和資料夾複製 1 本地複製 命令 cp 說明 將乙個檔案拷貝至另一檔案,或將數個檔案拷貝至另一目錄。引數 a 盡可能將檔案狀態 許可權等資料都照原狀予以複製。r 若 source 中含有目錄名,則將目錄下之檔案亦皆依序拷貝至目的地。f 若目的地已經有相同檔名的檔案存在,則在複製前先予以...