① python中怎樣將文件拷貝到指定的目錄下
代碼:
import os
import shutil
from shutil import Error
from shutil import stat
from shutil import 2
src = "" #需要復制的文件目錄
dst = "" #目標目錄
def jiecptree(src, dst, symlinks=False, ignore=None): #聲明函數 ree( 要復制的目錄,目標目錄,復制符號連接內容到新目錄,沒有要忽略文件)
names = os.listdir(src) #獲得要復制目錄的文件名列表,賦給變數 names
if ignore is not None: #如果 ignore 不是None值
ignored_names = ignore(src, names) # src目錄中要忽略文件的名字賦給 ignored_names
else: # 否則
ignored_names = set() #ignore_name 被 不重復空元素集 賦值
if os.path.isdir(dst):
pass
else:
os.makedirs(dst)
# print"dstfirst:"+dst
errors = [] #聲明 errors列
for name in names: #將names里的元素循環復制給name
if name in ignored_names: #如果name在要求被忽略的列里出現
continue #繼續for循環(跳回for,從新循環下個元素)
srcname = os.path.join(src, name) #將路徑名(src)添加到文名(name)之前然後賦值給 srcname
dstname = os.path.join(dst, name) #將路徑名(dst)添加到文名(name)之前然後賦值給 dstcname
from shutil import Error
# print "name:"+name
# print "src:"+src
# print "dst:"+dst
try: #嘗試
if os.path.islink(srcname):
continue
elif os.path.isdir(srcname): #如果srcname路徑是存在
jiecptree(srcname, dstname, symlinks, ignore)
elif os.path.isdir(dstname):
os.remove(dstname)
2(srcname, dstname)
else: # 否則
2(srcname, dstname) # 復制srcname到dstname
# print "srcname:"+srcname
# print "dstname:"+dstname
# XXX What about devices, sockets etc.? #怎樣裝置
except (IOError, os.error), why: #除(IOError[與文件有關的異常],操作系統異常)外,返回原因
errors.append((srcname, dstname, str(why))) # 向errors列里添加,(要復制的目錄,目標目錄,錯誤原因)
# catch the Error from the recursive jiecptree so that we can 從遞歸復制中捕捉這個錯誤,以便於我們能繼續復制其他文件
# continue with other files
except Error, err: #除錯誤外,返回錯誤:
errors.extend(err.args[0]) #擴展 errors 列,添加(err.args[0] 元素)
try: #嘗試
stat(src, dst) # 從src復制許可權位,上次訪問時間,最後修改時間 到 dst,
except WindowsError: # 除 Windows錯誤 外:
# can't file access times on Windows 在Windows上無法復制文件訪問時間
pass # 通過(不作任何處理)
except OSError, why: # 除 操作系統錯誤 外,返回原因:
errors.extend((src, dst, str(why))) #擴展 errors 列,添加(要復制的目錄,目標目錄,錯誤原因)
if errors: # 如果錯誤
raise Error(errors) # 提示錯誤
更多相關內容可參考資料http://www.viiboo.cn
② 自學Python:查看文件夾及子目錄所有文件路徑
使用路徑對象glob()函數和rglob()函數,可以查看指定路徑下的文件和子文件夾,兩者的區別在於,glob()函數只進行一級查找,而rglob()函數會進行多級查找。
from pathlib import Path
p = Path('d:\\文件夾\\')
r = p.glob('*')
for i in r:
print(i) #顯示glob()函數的結果
print('-' * 25) #這里是分割線
r = p.rglob('*')
for i in r:
print(i)#顯示rglob()函數的結果
查看對應結果如下:
d:\11\11.txt
d:\11\r.mp3
d:\11\t.mp3
d:\11\tp1000
d:\11\文件夾
-------------------------
d:\11\11.txt
d:\11\r.mp3
d:\11\t.mp3
d:\11\tp1000
d:\11\文件夾
d:\11\文件夾\文檔.txt
________________END______________
③ python中選擇文件夾(即路徑)的對話框如何實現
1、首先,確保我們已經正確安裝了python2.7的環境,然後,編輯一個.py文件。
④ 求助python指定運行文件的路徑
importos,subprocess
#os.chdir(r'c:1')
subprocess.call(r'c:12.exe',shell=True)
⑤ python找不到指定的路徑怎麼辦
python找不到指定的路徑的一些解決方法:
1、文件是否真正存在
2、指定路徑分隔符是否正確,對於不同的系統,文件夾分隔符不同,一般用的最多的是 「」
3、考慮編碼和解碼是否一致,一般解碼 utf-8/ gbk
4、考慮打開文件的格式需要不同的IO文件操作方法,一般常用的pd.csv_read(), np.load.text(),還有其它等等,不過對於較大的文件,由於一次讀取完會對內存帶來壓力,因此建議分批次讀取。
更多Python知識請關注Python視頻教程欄目。
⑥ python怎麼改文件路徑
windows讀取復文件可以用\,但在字元串裡面\被作制為轉義字元使用,
那麼python在描述路徑時有兩種方式:
'd:\\a.txt',轉義的方式
r'd:\a.txt',聲明字元串不需要轉義
這樣就實現了python在windows系統中用\來訪問,其實這樣比較麻煩的是不是,下面對幾種情況說明:
問題1:其實python中文件的絕對路徑可以直接復制window的路徑,
如:
C:\Users\Administrator\Desktop\python\source.txt 這個路徑是沒有問題的
但是,其實你的絕對路徑正確,但是執行報錯,那麼就是你文件名的問題,如:
C:\Users\Administrator\Desktop\python\t1.txt 這個路徑絕對會報錯,因為 \t被轉義了
python就會解析為C:\Users\Administrator\Desktop\python 1.txt 這個時候肯定會報錯的
若果你改成下面的寫法就不會報錯啦(推薦使用此寫法「/",可以避免很多異常)
C:/Users/Administrator/Desktop/python/t1.txt
⑦ 怎麼在Python進入指定文件夾
import os os.chdir(r'D:Pythonwork') #進入指定的目錄 import runpy runpy.run_path('hello.py') #運行hello.py文件
#運行hello;#進入指定的目錄 osos.chdir(r'D:Pythonwork') runpyrunpy.run_path('hello.py'import import 。
⑧ 如何用Python打開指定的某個文件夾比如我要用Python打開D盤里的一個普通文件,該怎麼做
是不是想要直接打開文件夾,那使用如下命令就可以
import os
os.system('explorer.exe /n, 文件夾路徑')
這樣就可以版直接打開,要打開文權件,不知道你是想在程序里讀還是直接開文件,開文件用
os.system('cmd /c 文件名')
在腳本中使用文件內容,那就使用open函數來讀取文件內容。