文件操作

来源:互联网 发布:60智能网络电视机价格 编辑:程序博客网 时间:2024/06/06 04:31
----- ----- 
import os 基本文件能操作,等
----- ----- 
os.sep 可以取代操作系统特定的路径分隔符。windows下为 '\\',linux下为'/'
os.name 字符串指示你正在使用的平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是 'posix'
os.linesep 字符串给出当前平台使用的行终止符。例如,Windows使用 '\r\n',Linux使用 '\n' 而Mac使用 '\r'
os.getenv() 获取一个环境变量,如果没有返回none
os.putenv(key, value) 设置一个环境变量值
os.system(command) 函数用来运行shell命令


os.path.isfile() 和判断是否是个目录文件
os.path.isdir(...)   判断是否是个目录


目录:
os.getcwd() 函数得到当前工作目录,即当前Python脚本工作的目录路径
os.chdir(dirname) 改变工作目录到dirname  
os.curdir   返回当前目录字符串 ('.'),没什么用?
os.listdir(path) 返回指定目录下的所有文件和目录名
os.mkdir(path) 创建一个目录
os.makedirs(path) 递归的创建目录!!
os.path.exists() 检验给出的路径是否真地存在
os.walk(top,topdown=True,onerror=None)  遍历迭代目录
文件
os.remove(path) 函数用来删除一个文件
os.path.getsize(name) 获得文件大小,如果name是目录返回0L
os.path.splitext()   分离文件名与扩展名


os.rename(src, dst)   重命名file或者directory src到dst 如果dst已一个存在的, 将抛出OSError. 
在Unix, 如果dst在存且是一个file, 
在某些Unix,中如果src和dst在不同的文件系统中,操作将会失败. 
如果成功, 这命名操作将会是一个原子操作 (这是POSIX 需要). 
os.renames(old, new) 递归重命名文件夹或者文件。像rename()


os.path.abspath(name) 获得绝对路径,一般用于相对路径操作后
os.path.normpath(path) 规范path字符串形式
os.path.basename(path) 返回文件名
os.path.dirname(path) 返回文件路径
os.path.split(path)   返回一个路径的目录名和文件名
os.path.join(path,name) 连接目录与文件名或目录


os.system("xxx") 在系统的shell中运行指令"xxx",成功返回0


----- ----- 
import shutil 高级文件操作
----- ----- 
shutil.copyfile( src, dst) 从源src复制到dst中去。 如果当前的dst已存在的话就会被覆盖掉
shutil.move( src, dst)   移动文件或重命名
shutil.copy( src, dst)   复制一个文件 到一个文件或一个目录
shutil.copy2( src, dst)   在copy上的基础上再复制文件最后访问时间与修改时间也复制过来了,类似于cp –p的东西
shutil.copytree( olddir, newdir, True/Flase) 递归复制一个目录以及目录内的所有内容
如果第3个参数是True,则复制目录时将保持文件夹下的符号连接,
如果第3个参数是False,则将在复制的目录下生成物理副本来替代符号连接
shutil.rmtree( src ) 递归删除一个目录以及目录内的所有内容
shutil.copymode( src, dst) 只是会复制其权限其他的东西是不会被复制的
shutil.copystat( src, dst) 复制权限、最后访问时间、最后修改时间






----- ----- 
import time
----- ----- 
time.strftime('%Y%m%d%H%M%S') #返回当前时间的字符串'20171219111503'
time.sleep(seconds) 推迟调用线程的运行






----- ----- 
压缩文件
----- ----- 
*.用tarfile
    try:  
        tar = tarfile.open(name=sys.argv[1])  
    except:  
        print('Failed opening %s' % sys.argv[1])  
        sys.exit(2)  
    tar.extractall()  
    tar.close() 
虽然可以支持utf-8编码,但用winrar打开/解压还是乱码,用bar工具解压则是正常的中文。因此,应该是winrar支持utf-8编码导致问题。


*.用os.system()调用系统应用




----- ----- 
文件操作
----- ----- 
f = open('FilePath','w') # 模式可以使 w写 r读 a追加 t文本 b二进制,不带参数则默认是rt
f.wtite('xxxx')
f.close()
f = open('FilePath',encoding = 'utf-8') #指定编码格式为utf-8
line = f.readline()






----- ----- 
pickle
----- ----- 
可以将任何纯python对象存储到一个文件中,后面可以取回来。


pickle.dump(obj, file) # 存储对象,其中file是一个已打开的文件指针
obj = pickle.load(file) # 读取对象







原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 酷派手机不开机怎么办 乐视手机开不了机怎么办 vivo手机拨号键盘不见了怎么办 华为手机拨号键盘不见了怎么办 金立手机拨号键盘不见了怎么办 酷派手机home键失灵怎么办 r11屏碎一半黑屏怎么办 金立手机黑屏打不开怎么办 小米8se自动跳出广告怎么办 小米手机总跳出广告怎么办 小米手机总是出现广告怎么办 红米1s开机黑屏怎么办 红米手机打电话黑屏怎么办 小米4c打游戏卡怎么办 电脑总出现拨号连接怎么办 win10电脑没有拨号连接怎么办 红米手机黑屏了怎么办 小米4s黑屏了怎么办 鼠标的左键失灵怎么办 小米5左键失灵怎么办 小米4左键失灵怎么办 小米5s左键失灵怎么办 单击鼠标左键就会自动删除?怎么办 华为五s开不开机怎么办 荣耀8关不了机怎么办 三星s7左键失灵怎么办 华为mate7死机黑屏了怎么办 小米手机max黑屏打不开怎么办 小米max开不了机怎么办 小米6接听电话声音小怎么办 小米手机接听电话声音小怎么办 小米5听筒声音小怎么办 红米手机不能开机怎么办 小米5x升级失败怎么办 安卓手机打电话黑屏怎么办 来电话就出黑屏怎么办 oppo手机停留在开机界面怎么办 小米4c死机了怎么办 苹果手机拨打电话时黑屏怎么办 华为畅享6黑屏怎么办 手机拨号键盘变小了怎么办