python file operate example - 2

简介:
接上一篇文件操作例子, 这里主要是写入文件的例子.
将test.txt按照key的奇数和偶数分类写入两个文件.
http://blog.163.com/digoal@126/blog/static/1638770402015027102245601/
postgres@localhost-> vi test.py
import os # 导入os模块
even=[]  #  定义两个list
odd=[]

print(os.getcwd())  # 打印当前工作目录
os.chdir('/home/postgres')  # 修改当前工作目录
print(os.getcwd())

try:
  with open('test.txt') as data:  # 自动关闭文件的方式打开文件. 当缩进部分操作完成, 自动调用data.close()
    for each_line in data:
      try:
        (key,value)=each_line.split(',', 1)  # 切割
        if int(key) % 2 == 0:  # 如果是偶数
          even.append(key + " : " + value)
        else:  # 如果是奇数
          odd.append(key + " : " + value)
      except ValueError as err:  # err记录错误值的内容, 必须str强制类型转换
        print("ValueError: " + str(err))
   
except IOError as err:
      print("Error: " + str(err))
   

try:
  with open('even.txt', "w") as even_data:  # 以w模式打开文件
    print(even, file=even_data)  # 写入文件
  with open('odd.txt', "w") as odd_data:
    print(odd, file=odd_data)
except IOError as err:
  print('Error: ' + str(err))

测试 :
postgres@localhost-> python ./test.py
/home/postgres
/home/postgres

写入两个文件
cat even.txt 
['2 : 75f9acd8d195f905b6ab6014ccef3a6b\n', '4 : 41d48a6a19a061e1297339681173c491\n', '6 : 0f33bd2eae60c9f00a2824e777c27d02\n', '8 : c51474a7d2f939ed97976ea67fdc554e\n', '10........
postgres@localhost-> cat odd.txt 
['1 : 891ca83e2c0971a8a0dc8d7e5edda338\n', '3 : ac4c2dc4d9de3461614d26a132f9c82f\n', '5 : 756f8ed2d4dce954bb5af9793fbb6581\n', '7 : 24a75602d88008760ecb4043f1e47fa6\n', '9 :......

其他
finally: 一般用于无论是否出现except: 都执行.
例如, 如果不是有with来打开文件的话, 无论如何都要关闭文件描述符 :
try:
  even_data = open('even.txt', "w")  # 以w模式打开文件
  print(even, file=even_data)  # 写入文件
  odd_data = open('odd.txt', "w")
  print(odd, file=odd_data)
except IOError as err:
  print('Error: ' + str(err))
finally:
  even_data.close()
  odd_data.close()


相关文章
|
6月前
|
Python
Python 关于模块的几点介绍 。和。。和__all__和__main___和__file__
用来定义我们导出的内容可以有哪些的一个编码方式
20 0
|
4月前
|
Python
python中 open() 和 File()
在Python中,open()是内置函数,而File是类。它们的区别和理解如下: 1. open()函数:open()函数用于打开一个文件,并返回一个文件对象。它有以下几个参数:
37 2
|
10月前
|
Python
|
10月前
|
Python
|
11月前
|
Python
Python编码错误的解决办法SyntaxError: Non-ASCII character '\xe7' in file
Python编码错误的解决办法SyntaxError: Non-ASCII character '\xe7' in file
开心档-软件开发入门之Python File(文件) 方法
本文主要讲解Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。
开心档-软件开发入门之Python File(文件) 方法
|
编译器 Python
关于python如何编写注释(包含中文)及出现SyntaxError: Non-UTF-8 code starting with ‘\xca‘ in file错误解决方案
关于python如何编写注释(包含中文)及出现SyntaxError: Non-UTF-8 code starting with ‘\xca‘ in file错误解决方案
378 0
关于python如何编写注释(包含中文)及出现SyntaxError: Non-UTF-8 code starting with ‘\xca‘ in file错误解决方案
|
算法框架/工具 Caffe
File "/usr/local/lib/python3.5/site-packages/dateutil/rrule.py", line 55 raise ValueError
File "/usr/local/lib/python3.5/site-packages/dateutil/rrule.py", line 55 raise ValueError
86 0
ld: file not found: python.exe报错解决
ld: file not found: python.exe报错解决
124 0
|
Python Windows
Python全栈之路:文件file常用操作
Python全栈之路:文件file常用操作
Python全栈之路:文件file常用操作