Kel*_*vin 42 python unix file-management
试图删除某个目录中的所有文件给我以下错误:
import os
test = "/home/me/test/*"
os.remove(test)
Run Code Online (Sandbox Code Playgroud)
我正在运行的代码是:
import os
test = "/home/me/test/*"
os.remove(test)
Run Code Online (Sandbox Code Playgroud)
Jac*_*son 59
os.remove()不适用于目录,os.rmdir()只能在空目录上工作.并且Python不会像某些shell一样自动扩展"/ home/me/test/*".
但是,您可以shutil.rmtree()在目录上使用它来执行此操作.
import shutil
shutil.rmtree('/home/me/test')
Run Code Online (Sandbox Code Playgroud)
小心,因为它也删除了文件和子目录.
bas*_*ndi 16
os.remove不解析unix样式的模式.如果您使用的是类Unix系统,您可以:
os.system('rm '+test)
Run Code Online (Sandbox Code Playgroud)
另外你可以:
import glob, os
test = '/path/*'
r = glob.glob(test)
for i in r:
os.remove(i)
Run Code Online (Sandbox Code Playgroud)
小智 12
有点麻烦,但如果您想保留目录,可以使用以下内容。
import os
import shutil
shutil.rmtree('/home/me/test')
os.mkdir('/home/me/test')
Run Code Online (Sandbox Code Playgroud)
小智 5
虽然这是一个老问题,但我认为没有人已经使用这种方法回答过:
# python 2.7
import os
d='/home/me/test'
filesToRemove = [os.path.join(d,f) for f in os.listdir(d)]
for f in filesToRemove:
os.remove(f)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
81969 次 |
| 最近记录: |