您的位置:首页 > 编程语言 > Python开发

python file 操作

2015-12-13 22:22 585 查看
代码环境; windows7 + python2.7 + notepad++ (使用插件PyNPP notepad++ 插件管理中可以下载使用)

1.打开包含中文路径文本

#!/usr/bin/env python
# -*- coding: utf-8 -*-

uipath = u'F:\VC\编程资料.txt' #或 unicode(filepath, 'utf-8')
f = open(uipath, 'r')
for text in f.readlines():
print(text)
f.close()


2.读取utf8格式的文本

uipath = u'F:\VC\编程资料.txt' #或 unicode(filepath, 'utf-8')
f = open(uipath, 'r')
for text in f.readlines():
print(text.decode('utf-8'))#重点
f.close()


3.关键编码的说明

sys.setdefaultencoding("utf-8") #python默认是以ascii进行编解码,跟"coding:
UTF-8 "头无关

print u'你们' + '我的' # 这样就可以混合串接打印,python会自动以utf-8编码方式先将"我的"转unicode,后一起encode

所以在python2.7中,setdefaultencoding()非常重要,可以避免很多编码错误。

4.目录操作

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
import sys

path = r'f:\2015'
listfile = os.listdir(path)
filename = open(path + '\\file.txt', 'w')
for line in listfile:
if(os.path.isfile(path + '\\' + line)):
filename.write(line + u":是文件".encode('gbk') + '\n') #电脑环境是gbk,所有line是gbk格式, u":是文件" 表示 unicode 编码
if(os.path.isdir(path + '\\' + line)):
filename.write(line + u":是目录".encode('gbk') + '\n')
filename.close()


6.文件夹移动

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
import sys
import shutil

#移动一个文件夹下面的目录和文件到另一个文件夹
def moveDir(olddir, newdir):
olddirname = os.path.split(olddir)
newdirTmp = newdir + '\\' + olddirname[1]
if(not os.path.exists(newdirTmp)):
shutil.move(olddir, newdir)
else:
shutil.rmtree(newdirTmp)
shutil.move(olddir, newdir)

olddir = r'F:\2015\python\olddir'
newdir = r'F:\2015\python\newdir'
moveDir(olddir, newdir)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: