python中13个实用的文件操作
1. 判断指定目录是否存在:
os.path.exists(input_folder)
2. 判断指定目录是不是文件夹
os.path.isdir(input_folder)
3. 判断指定目录是不是文件
os.path.isfile(input_folder)
4. 判断指定文件是不是图片(判断给定文件是何种图片类型)
import imghdr
img_list= {'jpg','bmp','png','jpeg','rgb','gif','pbm','ppm','tiff','xbm'}
if imghdr.what(input_filename) not in img_list:
print(not image)
5. 判断指定txt(文件)是否为空
import os
if os.path.getsize('test.txt') is 0:
print('test.txt is empty!')
6. 按行读取txt文件内容
f = open('test.txt', "r")
lines = f.readlines()
for line in lines:
print line
line = line.strip('\n') # 去掉换行符号 '\n'
print line
7. 遍历指定目录文件夹下所有文件
for file in sorted(glob.glob(os.path.join(input_folder, '*.*'))):
print(file)
8. 在python程序中兼容路径中的中文符号
for file in sorted(glob.glob(os.path.join(input_folder, '*.*'))):
file = unicode(file,'utf-8')
9. 判断文件夹是否存在,不存在则创建,存在则删除后再创建:
if not os.path.exists('folder1'):
os.makedirs('folder1')
else:
shutil.rmtree('folder1')
os.makedirs('folder1')
10. 创建一个txt文件并写入,如果存在则清空后写入:
f = open('test.txt', "wt")
f.writelines('test' + '\n')
f.close()
11. 判断路径(字符串) path_str 中是否有中文字符:
# coding:utf-8
for ch in path_str.decode('utf-8'):
if u'\u4e00' <= ch <= u'\u9fff':
print('chinese character founded!')
12. os.walk 遍历文件夹下所有文件(包括文件夹下的文件夹内文件)
for root, dirs, files in os.walk(INPUT_FOLDER):
for file in files:
item = os.path.join(root,file)
print(item)
13. 在python程序中获取文件或文件夹的绝对权限:
if os.path.exists(input_pathof_fileOrdir):
os.system("chmod 777 %s" % './{0}'.format(input_pathof_fileOrdir))