Python的目录操作主要依赖于os
和 shutil
模块.
Python目录操作
新建目录
os.mkdir("./test/") #在当前目录下新建名为“test”的目录,存在则报错
新建多级目录
os.makedirs("./test/test1/test2/") #存在则报错
删除目录
os.rmdir("./test/") #移除非空目录,不为空情况下报错
删除多级目录
os.removedirs("./test/test1/test2") #移除最后一级(test2)非空目录,不为空情况下报错
递归拷贝树
shutil.copytree("./test/","./test1/") #目标目录(./test1/)必须保证不存在,存在情况下报错
递归删除树
shutil.rmtree("./test/") #删除test目录及所包含的文件和目录
获取当前文件所在目录使用 os.getcwd()
,sys.path[0]
Python文件操作
拷贝文件
shutil.copyfile("./test/1.py","./test1/1.py") #目标(./test1/1.py)必须是新文件的路径,否则报错 shutil.copy("./test/1.py","./test1/") #目标可以是新文件的路径,也可以是新文件的目录,后者的情况下,新文件的名字为原文件的名字,若存在则覆盖
移动文件
shutyil.move("./test/1.py","./test1/") #目标目录不存在则报错,存在同名文件也报错,目标也可以是文件的路径,例如“./test1/2.py” 此时文件会先移动到test1文件夹下,然后对文件进行重命名为2.py
删除文件
os.remove("./test/1.py") #移除目标文件,不存在则报错
获取当前文件所在路径
os.path.abspath("./test")
:获取文件的绝对路径os.path.realpath("./test/")
:获取文件的真实路径
Python路径处理
python对路径的处理,主要存在于os.path
模块下
文件路径拼接
os.path.join("./test/","test1") #./test/test1/
判断文件或目录是否存在
os.path.exists() #参数为文件路径或目录路径
判断是否为文件
os.path.isfile("./test/1.py") #True 文件不存在的情况下为 False
判断是否为目录
os.path.isdir("./test/") #True. 目录不存在的情况下为 False
获取文件的名称
os.path.basename("./test/1.py") #1.py 路径不存在不会报错
获取目录的名称
os.path.dirname("./test/test1/") # ./test/test1 参数后面的反斜杠很重要,区别是文件路径还是目录路径。
分割路径中的文件和目录
os.path.split("./test/test1/1.py") # ("./test/test1/","1.py") os.path.split("./test/test1/") # ("./test/test1/","")
分割路径中的文件扩展名
os.path.splitext("./test/1.py") # ("./test/1",".py")
遍历文件夹
1)os.path.walk(path,func,args) 参数都必填 参数1为遍历的目录,文件路径不存在不报错 参数2为回调函数,定义为f(args,dirname,files)<dirname:文件当前遍历的目录,files:为当前目录下文件和目录信息的列表> 参数3与参数2中函数的参数1相对应
2)os.walk(path, topdown,onerror) 参数可选填 参数1为遍历的目录,文件路径不存在不报错 参数2为True或者不填时,遍历规则为先遍历目录在遍历文件,为False时与之相反 参数3为对错误处理的函数,它调用时有一个参数, 一个OSError实例。报告这错误后,继续walk,或者抛出exception终止walk。
调用方式: for dirname(当前遍历的目录),dirs(目录下的目录列表),files(目录下的文件列表) in os.walk(path)
在进行文件内指针重置的时候,除了Python基础篇文件部分介绍的绝对定位外,通过os模块还可以实现相对定位。
f.seek(位置,os.SEEK_SET<相对起始位置>|os.SEEK_END<相对结束位置>|os.SEEK_CUR<相对当前位置>)
更多内容请参考
os
模块: https://docs.python.org/2/library/os.html
shutil
模块:https://docs.python.org/2/library/shutil.html
Atas ialah kandungan terperinci 详解Python文件及目录操作. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Buat tatasusunan pelbagai dimensi dengan numpy dapat dicapai melalui langkah-langkah berikut: 1) Gunakan fungsi numpy.array () untuk membuat array, seperti Np.Array ([[1,2,3], [4,5,6]]) untuk membuat array 2D; 2) Gunakan np.zeros (), np.ones (), np.random.random () dan fungsi lain untuk membuat array yang diisi dengan nilai tertentu; 3) Memahami sifat bentuk dan saiz array untuk memastikan bahawa panjang sub-array adalah konsisten dan mengelakkan kesilapan; 4) Gunakan fungsi np.reshape () untuk mengubah bentuk array; 5) Perhatikan penggunaan memori untuk memastikan bahawa kod itu jelas dan cekap.

Broadcastinginginnumpyisamethodtoperformoperationsonarraysofdifferentshapesbyautomaticallyaligningthem.itsImplifiescode, enhancesreadability, andboostsperformance.here'showitworks: 1) smallerarraysarepaddedwithonestomatchdimensions.2) CompatibeSt

Forpythondatastorage, chooselistsforflexabilityWithMixedDatatypes, array.arrayformemory-efficienthomogeneousnumericaldata, andnumpyarraysforadvancednumericalcomputing.listsareversatileButlessefficefientfientfientfientfientfientfientfientfientfientfientfientforydodeSforayDataSetSetShiSforayDataSetSetShiSforayDataSetSetShiSforayDataSetSetShoFficeSforaydataSetShoSforayDataSetsforayDataSetsforayDataSetsforaydataSetShiSforayDodeSforayDodeSforaydataSetRaydataSetRaydataSetRaydataSet

Pythonlistsarebetterthanarraysformanagingdiversedatatypes.1) listscanholdelementsofdifferenttypes, 2) thearedynamic, membolehkanEaseasyAdditionsandremoVals, 3) theofferintuitiitiveoperationslikeslicing, tetapi4).

ToAccessElementsInapyThonArray, useIndexing: my_array [2] AccessestHeTheRdeLement, returning3.pythonuseszero-berasaskanIndexing.1) USE sitiveandnegativeindexing: my_list [0] forthefirstelement, my_list [-1] forthelast.2) menggunakanSlicingForarangange: my_list [1: 5] ekstrakSelemen

Artikel membincangkan kemustahilan pemahaman tuple di Python kerana kekaburan sintaks. Alternatif seperti menggunakan tuple () dengan ekspresi penjana dicadangkan untuk mencipta tupel dengan cekap. (159 aksara)

Artikel ini menerangkan modul dan pakej dalam Python, perbezaan, dan penggunaannya. Modul adalah fail tunggal, manakala pakej adalah direktori dengan fail __init__.py, menganjurkan modul yang berkaitan secara hierarki.

Artikel membincangkan docstrings dalam python, penggunaan, dan faedah mereka. Isu Utama: Kepentingan Docstrings untuk Dokumentasi Kod dan Kebolehcapaian.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular
