python文件常用操作
2017-08-29 14:40
288 查看
python (glob os.path)常用文件操作:
python excel 操作
python批量重命名目录下(单个或者多个)文件
目录以及文件名的一些操作(获取文件名不要扩展名without extension)
text 文件的读取
例如:
前面测试图片识别的时候需要将测试结果写到excel中
像这样批量重命名文件的话在linux中有很多常用的命令具体看我的bolg
直接上代码了
python excel 操作
python批量重命名目录下(单个或者多个)文件
目录以及文件名的一些操作(获取文件名不要扩展名without extension)
text 文件的读取
例如:
前面测试图片识别的时候需要将测试结果写到excel中
像这样批量重命名文件的话在linux中有很多常用的命令具体看我的bolg
直接上代码了
# _*_ coding:utf-8 _*_ from os import listdir from os.path import isfile, join import glob import os import errno from xlwt import * import time def make_dir_not_exists(path): try: os.makedirs(path) except OSError as exception: if exception.errno != errno.EEXIST: raise def get_line_lst(filename): """ return list of every line in file :param filename the file to be readed like '../dataset/dataset.txt': :return like [['line1 1'], ['line2 2']]: """ lst = [] with open(filename) as fp: for line in fp: lst.append(line) return lst def write_list_excel(file_name, title_lst, row_lst): # excel operator handler excel_handler = Workbook(encoding='utf-8') excel_sheet_name = time.strftime('%Y-%m-%d') excel_sheet = excel_handler.add_sheet(excel_sheet_name) # write title col_idx = 0 for item in title_lst: excel_sheet.write(0, col_idx, item) col_idx += 1 # write row contents, index->row row_idx = 1 for row in row_lst: col_idx = 0 for item in row: excel_sheet.write(row_idx, col_idx, item) col_idx += 1 row_idx += 1 # write/save excel to file excel_handler.save(file_name) def test_write_list_excel(): file = 'F:/test.xlsx' title_lst = ['姓名', '性别', '年龄', ] row_lst = [['熊大', '男', 10], ['熊2', '男', '15'], ['强哥', '男', 25]] write_list_excel(file, title_lst, row_lst) def batch_rename_files_in_dir(): """ signal level dir :return: """ base_dir = 'F:/ad_samples/img_voice_test/tencent_img/violence_samples/' file_list = glob.glob(base_dir + "*.jpg") i = 0 for f in file_list: os.rename(f, os.path.join(base_dir, str(i) + '.jpg')) i += 1 def batch_rename(): """ two-level dir added 2017/8/17, rename dir hello.jpg :return: """ # base_dir = 'F:/ad_samples/test_samples/' sub_dir_list = glob.glob(base_dir + '*') # print sub_dir_list ['F:/dir1', 'F:/dir2'] for dir_item in sub_dir_list: files = glob.glob(dir_item + '/*.jpg') i = 0 if len(files) == 0: continue for f in files: # fname = 'xx' + str(i) os.rename(f, os.path.join(dir_item, str(i) + '.jpg')) i += 1 def get_file_name(): file_path = 'E:/img/10.jpg' print os.path.basename(file_path) # 10.jpg head, tail = os.path.split(file_path) print head, tail # E:/img 10.jpg print os.path.splitext(file_path) # ('E:/img/10', '.jpg') print os.path.splitext(file_path)[0] # E:/img/10 base = os.path.basename(file_path) # 10.jpg print os.path.splitext(base) # ('10', '.jpg') print os.path.splitext(base)[0] # 10 def all_subdir_join(): """ more details of sub dir search visits https://stackoverflow.com/questions/2186525/use-a-glob-to-find-files-recursively-in-python :return: """ base_dir = 'F:/ad_samples/train_samples/others/' sub_dir_lst = glob.glob(base_dir + "*") # ['F:/dir1', 'F:/dir2'] new_sub_dir = [os.path.join(base_dir, item + '_flip') for item in os.listdir(base_dir)] # ['F:/dir1_flip', 'F:/dir2_flip'] # find all the .c files in the dir of src glob.glob(os.path.join('src', '*.c')) # find all the .c files in the one level subdir of src glob.glob(os.path.join('src', '*', '*.c')) # print os.listdir(base_dir) # ['dir1', 'dir2'] # print glob.glob(base_dir + "*") # ['F:/dir1', 'F:/dir2'] def get_all_files_name_in_dir(dir): files = [f for f in listdir(dir)] # like ['1.jpg', '10.jpg', '2.jpg', 'dir'] files = [f for f in listdir(dir) if isfile(join(dir, f))] # doesn't contain directory # like ['1.jpg', '10.jpg', '2.jpg'] files = [join(dir, f) for f in listdir(dir) if isfile(join(dir, f))] # like ['E:/img\\1.jpg', 'E:/img\\10.jpg', 'E:/img\\2.jpg'] files = [f for f in listdir(dir) if f.endswith('.jpg')] # like ['1.jpg', '10.jpg', '2.jpg'] files = glob.glob(dir + '/*.jpg') # like ['E:/img\\1.jpg', 'E:/img\\10.jpg', 'E:/img\\2.jpg'] os.chdir(dir) files = glob.glob('*.jpg') # like ['1.jpg', '10.jpg', '2.jpg'] return files if __name__ == '__main__': # batch_rename() batch_rename_files_in_dir() test_write_list_excel() # get_file_name() # print get_all_files_name_in_dir('E:/rectimg')
相关文章推荐
- Basic_Python常用文件操作参考(转)
- 9.9Python文件操作(9):常用API总结
- 【13】Python之常用文件操作
- python-文件操作及os模块常用函数
- Python脚本控制的WebDriver 常用操作 <二十七> 文件下载
- python3 常用模块(时间、os路径及文件操作、字符串比较,文件内容比较等模块)
- PYTHON文件操作常用函数
- Python常用文件操作参考
- [转]python常用文件及目录操作
- Python OS 文件操作模块常用函数
- python 异常处理、文件常用操作
- Python之文件操作及常用函数
- Python脚本控制的WebDriver 常用操作 <二十六> 上传文件
- python操作文件常用写法
- python文件操作及os模块常用命令
- python 文件常用的读写操作
- Python OS 文件操作模块常用函数
- Python文件或目录操作的常用函数
- Python之文件操作及常用函数
- Python常用文件操作总结