脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - Python实现读取并保存文件的类

Python实现读取并保存文件的类

2020-11-06 00:52盛意兄弟 Python

这篇文章主要介绍了Python实现读取并保存文件的类,涉及Python针对文件的读写操作相关实现技巧,需要的朋友可以参考下

本文实例讲述了Python实现读取保存文件的类。分享给大家供大家参考,具体如下:

这个类写在一个叫class_format.py 的文件里, 放在D盘

?
1
2
3
4
5
6
>>> import os
>>> os.chdir("D:\\")
>>> os.getcwd()
'D:\\'
>>> os.listdir(".")
......

有一个testcsv.txt 文件放在D盘,内容如下(oi的两边有空格):

?
1
2
3
4
5
6
7
1
100
3000
56
34
23
 oi

这个代码的ReadData模块用到了csv.reader这个方法,delimiter='\n' 表示分隔符为换行符,quotechar=" " 表示引用字符为空格,quoting=csv.QUOTE_NONNUMERIC 表示,reader把未引用的区域转换为float类型, writer把非数值的字段用字符引用。

参考:https://docs.python.org/3/library/csv.html

这个模块使用方法:

?
1
2
3
4
5
6
7
8
>>> from class_format import FormatData
>>> myInstance = FormatData()
>>> read_material = myInstance.ReadData("testcsv.txt")
Data read!
>>> read_material
[1.0, 100.0, 3000.0, 56.0, 34.0, 23.0, 'oi']
>>> result = myInstance.SaveData("resultcsv.txt",read_material)
Data saved!

这样testcsv.txt中的内容就被写入 resultcsv.txt文件中了

代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/usr/bin/python
""" Chapter 15 of Beginning Programming With Python - For Dummies   """
import csv
class FormatData:
  def __init__(self, Name="",Age=0, Using_Vim=False):
    self.Name = Name
    self.Age = Age
    self.VimUser = Using_Vim
  def __str__(self):
    OutString = "'{0}', {1}, {2}".format(self.Name, self.Age, self.VimUser)
    return OutString
  def SaveData(self, Filename = "", DataList = []):
    with open(Filename, "w") as csvfile:
      DataWriter = csv.writer(csvfile, delimiter='\n',quotechar=" ",quoting=csv.QUOTE_NONNUMERIC)
      DataWriter.writerow(DataList)
      csvfile.close()
      print("Data saved!")
  def ReadData(self,Filename=""):
    with open(Filename, "r") as csvfile:
      DataReader = csv.reader(csvfile, delimiter='\n',quotechar=" ",quoting=csv.QUOTE_NONNUMERIC)
      Output = []
      for Item in DataReader:
        Output.append(Item[0])
      csvfile.close()
      print("Data read!")
      return Output

希望本文所述对大家Python程序设计有所帮助。

延伸 · 阅读

精彩推荐