1、创建文件夹
os.makekdir(path)
os.makekdirs(path)
os.makedirs(path)和os.mkdir(path)的区别在于:
第一个会创建多级文件夹目录,而者只会创建一级的目录。
这个比较抽象,但意思就是说,如果你所写的文件路径从某个文件夹下开始,就没有相对应的文件夹了。那么,用第一个makedirs()
就会全部都创建出来。但是用第二个就是报错。
因为第二个只会创建一级文件夹。
directory = "./dir"
os.chdir(directory) #切换到directory目录
cwd = os.getcwd() #获取当前目录即dir目录下
2、删除文件夹
import os
import shutil
shutil.rmtree(path);
# 或
os.removedirs(path)
# 递归地删除目录。如果子目录成功被删除,则将会成功删除父目录,子目录没成功删除,将抛异常。
# 或
os.remove(path) # path是文件的路径,如果这个路径是一个文件夹,则会抛出OSError的错误,这时需用
用rmdir()来删除
os.unlink(path) # unlink的功能和remove一样是删除一个文件,但是删除一个删除一个正在使用的文件
会报错。
os.rmdir("/tmp/ssh-GyoPWOFZ47") # 只能删除空文件夹,否则报错。
创建与删除前可用os.path.exists(path) 判断文件文件夹是否存在。
也可用os.path.join(root, name) 拼接path。
3、打包文件
比较古老的方法是用zipfile
库创建zip包,但是要写各种循环迭代需要很多行代码。
还有另一种python自带库shutil
,可以一句话打包压缩文件。
import shutil
shutil.make_archive(base_name, format[, root_dir[, base_dir, verbose, dry_run, owner, group, logger])
- base_name:压缩包的文件名,也可以是压缩包的路径;只是文件名时,则保存至当前目录下,否则保存至指定路径;
- format:压缩包种类,“zip”, “tar”, “bztar”,“gztar”;
- base_dir:指定要压缩文件的路径,可以指定路径下的文件名,也可以指定路径;
- root_dir:指定要压缩的路径根目录(默认当前目录),只能指定路径,优先级低于base_dir。