Python常用的文件读写操作和字符串操作

文件读写操作

fileUtils.py

# -*- coding: utf-8 -*-

import os

def getFileList(dir, fileList=[]):
     """
     遍历一个目录,输出所有文件名
     param dir: 待遍历的文件夹
     param filrList : 保存文件名的列表
     return fileList: 文件名列表
     """
     newDir = dir
     if os.path.isfile(dir):
          fileList.append(dir)
     elif os.path.isdir(dir):
          for s in os.listdir(dir):
               # 如果需要忽略某些文件夹,使用以下代码
               # if s == "xxx":
                     # continue
               newDir = os.path.join(dir, s)
               getFileList(newDir, fileList)
      return fileList

def readStrFromFile(filePath):
     """
     从文件中读取字符串str
     param filePath: 文件路径
     return string : 文本字符串
     """
     with open(filePath, "rb") as f:
           string = f.read()
     return string

def readLinesFromFile(filePath):
      """
      从文件中读取字符串列表list
      param filePath: 文件路径
      return lines : 文本字符串列表
      """
      with open(filePath, "rb") as f:
            lines = f.readlines()
      return lines

def writeStrToFile(filePath, string):
       """
       将字符串写入文件中
       param filePath: 文件路径
       param string : 字符串str
       """
       with open(filePath, "wb") as f:
             f.write(string)

def appendStrToFile(filePath, string):
      """
      将字符串追加写入文件中
      param filePath: 文件路径
      param string : 字符串str
      """
      with open(filePath, "ab") as f:
             f.write(string)

def dumpToFile(filePath, content):
      """
      将数据类型序列化存入本地文件
      param filePath: 文件路径
      param content : 待保存的内容(list, dict, tuple, ...)
      """
      import pickle
      with open(filePath, "wb") as f:
             pickle.dump(content, f)

def loadFromFile(filePath):
      """
      从本地文件中加载序列化的内容
      param filePath: 文件路径
      return content: 序列化保存的内容(e.g. list, dict, tuple, ...)
      """
      import pickle
      with open(filePath) as f:
             content = pickle.load(f)
      return content

字符串操作

zhuanma.py

# -*- coding: utf-8 -*-
import os
import sys

try:
     import pkg_resources
     get_module_res = lambda *res: pkg_resources.resource_stream(__name__,os.path.join(*res))
except ImportError:
     get_module_res = lambda *res: open(os.path.normpath(os.path.join(os.getcwd(), os.path.dirname(__file__), *res)), ‘rb‘)

PY2 = sys.version_info[0] == 2

default_encoding = sys.getfilesystemencoding()

if PY2:
     text_type = unicode
     string_types = (str, unicode)

iterkeys = lambda d: d.iterkeys()
     itervalues = lambda d: d.itervalues()
     iteritems = lambda d: d.iteritems()

else:
     text_type = str
     string_types = (str,)
     xrange = range

iterkeys = lambda d: iter(d.keys())
     itervalues = lambda d: iter(d.values())
     iteritems = lambda d: iter(d.items())

def strdecode(sentence):
     if not isinstance(sentence, text_type):
          try:
              sentence = sentence.decode(‘utf-8‘)
          except UnicodeDecodeError:
              sentence = sentence.decode(‘gbk‘, ‘ignore‘)
     return sentence

def resolve_filename(f):
     try:
          return f.name
     except AttributeError:
         return repr(f)

stringUtils.py

# -*- coding: utf-8 -*-

import zhuanma

def jiema(string):
     """
     将字符串转为unicode编码
     param string: 待转码的字符串
     return : unicode编码的字符串
     """
     from zhuanma import strdecode
     return strdecode(string)

def filterReturnChar(string):
      """
      过滤字符串中的"\r"字符
     :param string:
     :return: 过滤了"\r"的字符串
     """
     return string.replace("\r", "")

def encodeUTF8(string):
     """
     将字符串转码为UTF-8编码
     :param string:
     :return: UTF-8编码的字符串
     """
     return jiema(string).encode("utf-8")

def filterCChar(string):
     """
     过滤出字符串中的汉字
     :param string: 待过滤字符串
     :return: 汉字字符串
     """
     import re
     hanzi = re.compile(u"[\u4e00-\u9fa5]+", re.U)
     return "".join(re.findall(hanzi, string))

时间: 2024-12-15 04:55:18

Python常用的文件读写操作和字符串操作的相关文章

python基础之文件读写

python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使用os模块的一些方法如下: 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目录名,返回的是一个列表:os.listdir("指定路径") 函数用来删除一个文件:os.remove("文件路径") 删除多个目录:os.removedirs(&

Python常用模块——文件复制模块shutil

Python常用模块--文件复制模块shutil shutil模块 高级的文件.文件夹.压缩包处理模块 shutil.copyfileobj(fsrc, fdst) 将文件内容拷贝到另一个文件中 import shutil shutil.copyfileobj(open('old.xml','r'), open('new.xml', 'w')) shutil.copyfile(src, dst) 拷贝文件 shutil.copyfile('f1.log', 'f2.log') #目标文件无需存在

C++、Python文件读写、定位等操作

一.C++文件流 1.文件流对象 C++中的文件流对象(fstream)是继承自iostream的一个类,其关系如下: fstream可以用IO运算符(>>和<<)读写文件,也可以用getline读文件. fstream特有的操作: fstream fstrm; 创建一个未绑定的文件流 fstream fstrm(s);   创建一个fstream,并打开名为s的文件,默认的文件模式依赖于fstream类型 fstream fstrm(s,mode); 与上一个构造函数类似,按指定

Python基础笔记系列十一:标准输入输出、文件读写和指针等操作

本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 标准输入输出一.输入 在sublime中这个时候需要安装SublimeREPL插件. Ctrl+shift+p 键入 install packages,再继续键入 SublimeREPL 安装即可然后每次编译运行的操作是:tools->sublimeREPL->python->python-Run current file.点击之后会出现新的页面*REPL*[py

python(三)一个文件读写操作的小程序

我们要实现一个文件读写操作的小程序 首先我们有一个文件 我们要以"============"为界限,每一个角色分割成一个独立的txt文件,按照分割线走的话是分成 xiaoNa_1.txt xiaoBing_1.txt xiaoNa_2.txt xiaoBing_2.txt 这样格式的四个文件 下面上代码: #定义一个保存文件的函数 def save_file(xiaoNa,xiaoBing,count): file_name_xiaoBing = 'xiaoBing_'+str(cou

Python 基础 - Json文件读写

JSON介绍 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C.C++.Java.JavaScript.Perl.Python等).这些特性使JSON成为理想的数据交换语言.易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率). 在python中,JSON 由列表和字典组成. 序列化的两个模块中,json模块是用于

Python基础入门-文件读写

在python中文件的读写操作应该的十分广泛.比如,我们经常会读取txt获取一些信息,用来参数化操作.当热不局限于这些,关于文件读写方面的知识有很多,说一天可能都说不完,但是我们今天呢?主要跟大家分享的是python的文件读写中一些比较实用.我们经常用的知识.来开始表演吧~~~~ 在python如如何创建一个文件呢?我们可以使用open()函数,这个函数里面有很多的参数,看一下它的基本机构: open(name[, mode[, buffering]]) name : 一个包含了你要访问的文件名

python 常用对linux系统文件及目录的操作

目录 1.取得当前目录——os.getcwd() >>> import os >>> s=os.getcwd()#获得当前运行脚本所在目录 >>> s 'C:\\Python27' 比如运行test.py,那么输入该命令就会返回脚本所在的文件夹位置. 例如将test.py放入A文件夹.并且希望不管将A文件夹放在硬盘的哪个位置,都可以在A文件夹内生成一个新文件夹.且文件夹的名字根据时间自动生成. >>> import os >&g

Python异常和文件读写

Python异常 1.python异常的完整语法 try: # 提示用户输入一个整数 num = int(input("输入一个整数:")) # 使用 8 除以用户输入的整数并且输出 result = 8 / num print(result) except ValueError: print("请输入正确的整数!") except Exception as result: print("未知错误:%s" % result) else: prin