在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Python/ shutil.move(src,dst)識別路徑的原理??

shutil.move(src,dst)識別路徑的原理??

1.關(guān)于python文件操作函數(shù)shutil.move[src.dst]疑問,src是不是必須指定路徑呢.
2.我想知道為什么shutil.move(f,folder_name)里面f..python可以識別f的路徑呢?我覺這里沒有邏輯而言???因?yàn)檫@里的f沒有拼裝任何路徑. 只是for loop 里面一個 f 變量而已 ..
3.下列代碼中文件復(fù)制成功,但是從表面上看 f 沒有獲取任何路徑,請問是如何判斷的f路徑的呢。。
代碼示意:
`
import shutil
import os

path = './' #當(dāng)前路徑下有若干個文件或者有若干個文件夾.
files = os.listdir(path)

for f in files:

folder_name = os.path.join('./',f.split('.')[-1])
if not os.path.exists(folder_name):
    os.makedirs(folder_name)
    shutil.move(f,folder_name)
else:
    shutil.move(f,folder_name)
    
   `
回答
編輯回答
扯機(jī)薄

shutil 這個標(biāo)準(zhǔn)庫是用python代碼實(shí)現(xiàn)的,想知道它的原理可以看看源碼:https://github.com/python/cpy...

2018年9月22日 05:16
編輯回答
選擇

這可以理解為文件路徑解析問題,適用于所有文件操作,不僅是 shutil.move()。

文件路徑可分兩類:

  1. 絕對路徑
    即根據(jù)此路徑可直接找到文件,與進(jìn)程當(dāng)前目錄無關(guān)。
    比如 "C:\Windows\system32\user32.dll"
  2. 相對路徑
    實(shí)際的文件位置由進(jìn)程的 當(dāng)前目錄 合成。比如:

    當(dāng)前目錄 相對路徑 實(shí)際文件位置
    C:\Windows\ user32.dll C:\Windows\user32.dll
    C:\Windows\system32\ user32.dll C:\Windows\system32\user32.dll
    C:\Windows\system32\ ..\user32.dll C:\Windows\user32.dll

    在 python 中,使用 os.getcwd() 可獲取進(jìn)程的當(dāng)前目錄, os.path.join() 可合成路徑。

2017年7月3日 05:53