當前位置:首頁 » 編程語言 » pythonos復制

pythonos復制

發布時間: 2023-02-11 21:08:24

python os.walk怎麼循環

os.walk(top,topdown=True,onerror=None,followlinks=False)

可以得到一個三元tupple(dirpath,dirnames,filenames),

第一個為起始路徑,第二個為起始路徑下的文件夾,第三個是起始路徑下的文件。

dirpath是一個string,代表目錄的路徑,

dirnames是一個list,包含了dirpath下所有子目錄的名字。

filenames是一個list,包含了非目錄文件的名字。

這些名字不包含路徑信息,如果需要得到全路徑,需要使用os.path.join(dirpath,name).

通過for循環自動完成遞歸枚舉

例如:

F:aaa目錄是這樣的文件目錄結構

F:aaa

|--------1.txt

|--------2.txt

|--------3.txt

|--------4

|-------5.txt

|-------6.txt

|-------7.txt

[python]view plain

  • #!/usr/bin/envpython

  • #2.py

  • #useUTF-8

  • #Python3.3.0

  • #os.walk()的使用

  • importos

  • #枚舉dirPath目錄下的所有文件

  • defmain():

  • #begin

  • fileDir="F:"+os.sep+"aaa"#查找F:aaa目錄下

  • forroot,dirs,filesinos.walk(fileDir):

  • #begin

  • print(root)

  • print(dirs)

  • print(files)

  • #end

  • os.system("pause")

  • #end

  • if__name__=='__main__':

  • #begin

  • main()

  • #end

  • #輸出

  • #F:aaa

  • #['4']

  • #['1.txt','2.txt','3.txt']

  • #F:aaa4

  • #[]

  • #['5.txt','6.txt','7.txt']


  • 你也可以這樣
  • [python]view plain

  • #!/usr/bin/envpython

  • #3.py

  • #useUTF-8

  • #Python3.3.0

  • #os.walk()的使用

  • importos

  • #枚舉dirPath目錄下的所有文件

  • defmain():

  • #begin

  • fileDir="F:"+os.sep+"aaa"#查找F:aaa目錄下

  • forainos.walk(fileDir):

  • #begin

  • print(a[0])

  • print(a[1])

  • print(a[2])

  • #end

  • os.system("pause")

  • #end

  • if__name__=='__main__':

  • #begin

  • main()

  • #end

  • #輸出

  • #F:aaa

  • #['4']

  • #['1.txt','2.txt','3.txt']

  • #F:aaa4

  • #[]

  • #['5.txt','6.txt','7.txt']


  • 通過for循環即可完成目錄的遞歸.
  • 你還可以這樣

    [python]view plain

  • #!/usr/bin/envpython

  • #2.py

  • #useUTF-8

  • #Python3.3.0

  • #os.walk()的使用

  • importos

  • #枚舉dirPath目錄下的所有文件

  • defmain():

  • #begin

  • fileDir="F:"+os.sep+"aaa"#查找F:aaa目錄下

  • forroot,dirs,filesinos.walk(fileDir):

  • #begin

  • fordirindirs:

  • #begin

  • print(os.path.join(root,dir))

  • #end

  • forfileinfiles:

  • #begin

  • print(os.path.join(root,file))

  • #end

  • #end

  • os.system("pause")

  • #end

  • if__name__=='__main__':

  • #begin

  • main()

  • #end

  • #輸出

  • #F:aaa4

  • #F:aaa1.txt

  • #F:aaa2.txt

  • #F:aaa3.txt

  • #F:aaa45.txt

  • #F:aaa46.txt

  • #F:aaa47.txt

❷ python—os模塊批量修改文件名&復制文件

1、修改文件名
導入os模塊
這里舉的例子是:對目錄下的所有文件重命名,格式為一個字元串+6位遞增數

注意:其中zfill(6)的作用是將1變為6位數,缺少位置0代替,結果就是00001

2、復制文件

注意:還有其它復制方法,可以自行網路~!

3.格式化輸出

PS:覺得這篇文章有用的朋友,多多點贊打賞哦~!

❸ Python的os庫的使用

python os庫有很多和操作系統相關的功能。

其實不僅僅如此,os庫中還有很多和文件,路徑,執行系統命令相關的。

下面是os模塊常用的方法.

1.os.sep                    可以取代操作系統特定的路徑分割符

2.os.name                字元串指示你正在使用的平台。比如對於Windows,它是'nt',而對於Linux/Unix用戶,它是'posix'

3.os.getcwd()            函數得到當前工作目錄,即當前Python腳本工作的目錄路徑

4.os.getenv()            用來讀取環境變數

5.os.putenv()            用來設置環境變數

6.os.listdir()              返回指定目錄下的所有文件和目錄名

7os.remove()            函數用來刪除一個文件

8.os.system()            函數用來運行shell命令

9.os.linesep              字元串給出當前平台使用的行終止符。例如,Windows使用'/r/n',Linux使用'/n'而Mac使用'/r'。

10.os.path.split()      函數返回一個路徑的目錄名和文件名

11.os.path.isfile()      檢驗給出的路徑是一個文件

12os.path.isdir()        檢驗給出的路徑是一個目錄

13.os.path.existe()    函數用來檢驗給出的路徑是否真地存在

14.os.listdir(dirname) 列出dirname下的目錄和文件

15.os.getcwd()          獲得當前工作目錄

16.os.curdir                返回當前目錄('.')

17.os.chdir(dirname)  改變工作目錄到dirname

os.path都是和路徑指定的文件,目錄,和路徑字元串有關系的函數

os.path.isdir(name)          判斷name是不是一個目錄,name不是目錄就返回false

os.path.isfile(name)          判斷name是不是一個文件,不存在name也返回false

os.path.exists(name)        判斷是否存在文件或目錄name

os.path.getsize(name)      獲得文件大小,如果name是目錄返回0L

os.path.abspath(name)    獲得絕對路徑

os.path.normpath(path)    規范path字元串形式

os.path.split(name)          分割文件名與目錄(事實上,如果你完全使用目錄,它也會將最後一個目錄作為文件名而分離,同時它不會判斷文件或目錄是否存在)

os.path.splitext()              分離文件名與擴展名

os.path.join(path,name)    連接目錄與文件名或目錄

os.path.basename(path)  返迴文件名

os.path.dirname(path)      返迴文件路徑

❹ python中怎樣轉到指定目錄

例如使用IDLE編譯python代碼時,可以使用os.chdir轉到指定目錄

import os.

os.getcwd() #get current work direction.

os.chdir('E:\Python_File\Test') #change direction.

在這之後可以直接調用』E:Python_FileTest』目錄下的函數。

或者用庫調用:

import osimport shutil.

alllist=os.listdir(u"D:\notes\python\資料\")for i in alllist:

aa,bb=i.split(".") if 'python' in aa.lower():

oldname= u"D:\notes\python\資料\"+aa+"."+bb.

newname=u"d:\\newname"+aa+"."+bb.

shutil.file(oldname,newname).

(4)pythonos復制擴展閱讀:

Python中獲得當前目錄和上級目錄:

獲取當前文件的路徑:

from os import path
d = path.dirname(__file__) #返回當前文件所在的目錄 # __file__ 為當前文件, 若果在ide中運行此行會報錯,可改為 #d = path.dirname('.')。

獲得某個路徑的父級目錄:

parent_path = os.path.dirname(d) #獲得d所在的目錄,即d的父級目錄 parent_path = os.path.dirname(parent_path) ##獲得parent_path所在的目錄即parent_path的父級目錄。

獲得規范的絕對路徑:

abspath = path.abspath(d) #返回d所在目錄規范的絕對路徑。



❺ 用python把文件夾下的所有文件包括文件夾裡面的文件都拷貝到同一個目錄下

importos
importshutil

defwenjian(path):
ifos.path.isfile(path):
shutil.(path,'c:\new_dir')
ifos.path.isdir(path):
lists=os.listdir(path)
foriinlists:
wenjian(i)

foriinos.walk('c:\1'):
wenjian(i)

建議你把檢索到的文件都放到一個新的文件夾里,要不然系統在同一個文件夾里不停的讀取和寫入可能會陷入死循環以至出錯。

❻ 如何使用python復制大概200G的數據[任何語言只要能實現]

如果我理解的正確的話,樓主是要大文件吧。

python最經常使用的函數,應該是shutil.file()了,它默認以16384bytes 的大小作為緩沖區,對於小的文件,的確不錯。但是處理到大的文件的時候,性能下降就很嚴重。過小的buffer會不合適。

經過多次的嘗試,發現10Mb的buffer最合適,再高也沒有性能的提升。重載後的函數如下

defFile(src,dst,buffer_size=10485760,perserveFileDate=True):

'''

Copiesafiletoanewlocation.

@paramsrc:SourceFile

@paramdst:DestinationFile(notfilepath)

@parambuffer_size:Buffersizetousering

@paramperserveFileDate:Preservetheoriginalfiledate

'''

#.Ifitdoesn'tcreatethedirectory

dstParent,dstFileName=os.path.split(dst)

if(not(os.path.exists(dstParent))):

os.makedirs(dstParent)#

buffer_size=min(buffer_size,os.path.getsize(src))

if(buffer_size==0):

buffer_size=1024ifshutil._samefile(src,dst):

raiseshutil.Error("`%s`and`%s`arethesamefile"%(src,dst))

forfnin[src,dst]:

try:

st=os.stat(fn)

exceptOSError:

#Filemostlikelydoesnotexist

pass

else:

#XXXWhataboutotherspecialfiles?(sockets,devices...)

ifshutil.stat.S_ISFIFO(st.st_mode):

raiseshutil.SpecialFileError("`%s`isanamedpipe"%fn)

withopen(src,'rb')asfsrc:

withopen(dst,'wb')asfdst:

shutil.fileobj(fsrc,fdst,buffer_size)if(perserveFileDate):

shutil.stat(src,dst)

使用的時候記得添加相應的包。

❼ python 復制文件的小問題,求高手解,請仔細看圖片啊

運行之前確保已經連上 8.8.9.127的共享。

import os
import os.path
from os.path import isfile, isdir, join
from shutil import

remote_dir = r'\\8.8.9.127\mal\decrpyt'
dest_dir = r'd:\\copied_files'
if not isdir(dest_dir):
os.makedirs(dest_dir)

for f in os.listdir(remote_dir):
if f.lower().endswith('.txt'):
f_path = join(remote_dir, f)
if isfile(f_path):
print 'ing %s...' % f_path
(f_path, dest_dir)

❽ python os 移動文件到指定目錄

使用python的os模塊移動文件到指定目錄,可以使用os模塊中的renames方法,可以生成目錄如果目錄不存在,例如,將當前目錄的文件「test.txt」移動到「data/test.txt「,使用2行代碼即可,如下:
import os;
os.renames("test.txt","data/test.txt");

❾ python 實現一級目錄下的所有文件與文件夾到指定目錄

'''
python3 實現
將a目錄下所有文件和文件夾到b目錄
'''
import os, shutil

#src 原始目錄, des 目標目錄
def sourcecpy(src, des):
src = os.path.normpath(src)
des = os.path.normpath(des)
if not os.path.exists(src) or not os.path.exists(src):
print("文件路徑不存在")
sys.exit(1)
#獲得原始目錄中所有的文件,並拼接每個文件的絕對路徑
os.chdir(src)
src_file = [os.path.join(src, file) for file in os.listdir()]
for source in src_file:
#若是文件
if os.path.isfile(source):
shutil.(source, des) #第一個參數是文件,第二個參數目錄
#若是目錄
if os.path.isdir(source):
p, src_name = os.path.split(source)
des = os.path.join(des, src_name)
shutil.tree(source, des) #第一個參數是目錄,第二個參數也是目錄

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:752
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:1012
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:719
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:879
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:775
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1127
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:352
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:229
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:912
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:876