python 读写文件格式化输出

Python读写文件
1.open
file_object = open('thefile.txt')
try:
all_the_text = file_object.read( )
finally:
file_object.close( )

2.读文件
读文本文件
input = open('data', 'r')
#第二个参数默认为r
input = open('data')

读二进制文件
input = open('data', 'rb')

读取所有内容
file_object = open('thefile.txt')
try:
all_the_text = file_object.read( )
finally:
file_object.close( )


读固定字节
file_object = open('abinfile', 'rb')
try:
while True:
chunk = file_object.read(100)
if not chunk:
break
do_something_with(chunk)
finally:
file_object.close( )


读每行
list_of_all_the_lines = file_object.readlines( )

如果文件是文本文件,还可以直接遍历文件对象获取每行:

for line in file_object:
process line


3.写文件
写文本文件
output = open('data', 'w')


写二进制文件
output = open('data', 'wb')


追加写文件
output = open('data', 'w+')


写数据
file_object = open('thefile.txt', 'w')
file_object.write(all_the_text)
file_object.close( )


写入多行
file_object.writelines(list_of_text_strings)

注意,调用writelines写入多行在性能上会比使用write一次性写入要高。

示例:

from Finder import process

import QiweiLogger

file_object = open('/work/not_dispatch.txt')
file_writer_object = open('/work/result.txt', 'w+')

for line in file_object:
# print line
var1 = line.split(',')
# var2 = var1[1].split(',')
# print var1
crawlSite = '';
firstLevelChannel = '';
secondLevelChannel = '';
subSite = '';
for item in var1:
# print item
if item.strip().startswith('crawlSite'):
print item
crawlSite = item;
elif item.strip().startswith('firstLevelChannel'):
# print item
firstLevelChannel=item;
elif item.strip().startswith('secondLevelChannel'):
# print(item)
secondLevelChannel=item;
elif item.strip().startswith('subSite'):
# print item
subSite = item;

# print('%s %s %s %s' % (crawlSite, firstLevelChannel, secondLevelChannel, subSite))
resultStr = '%s %s %s %s' % (crawlSite, firstLevelChannel, secondLevelChannel, subSite)+'\n'
print resultStr

file_writer_object.writelines(resultStr)

file_object.close()
file_writer_object.close()
# print("EPG value changed to %s" % (value))
# else:
# print 'not'
# qiweiLogger = QiweiLogger(crawlSite, firstLevelChannel, secondLevelChannel, subSite)
# qiweiLogger = QiweiLogger('handetian', '18210413001', 'detian@xkops.com', '123456')
# print qiweiLogger.get_crawlSite()
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中,我们可以使用json模块来JSON数据并进行格式化输出。首先,我们可以使用json.load()函数来取JSON数据并将其转换为Python字典。例如,我们可以使用以下代码取一个名为example.json的文件并将其转换为字典: ```python import json with open('example.json', 'r') as file: data = json.load(file) print(data) ``` 这将打开example.json文件并将其内容转换为一个字典,并将其打印出来。\[2\] 如果我们想要将Python字典转换为JSON格式并进行格式化输出,我们可以使用json.dumps()函数。例如,我们可以使用以下代码将一个名为load_dict的字典转换为JSON格式并进行格式化输出: ```python import json load_dict = {'one': 1, 'two': {2.1: \['a', 'b'\]}} with open("./format_json.json", 'w') as write_f: write_f.write(json.dumps(load_dict, indent=2, ensure_ascii=False)) with open("./format_json.json", 'r') as load_f: load_dict = json.load(load_f) print(load_dict) ``` 这将把load_dict字典转换为JSON格式并入到名为format_json.json的文件中。然后,我们再次取该文件并将其转换为字典,并将其打印出来。\[3\] #### 引用[.reference_title] - *1* [【PythonJSON:格式化输出,让数据更清晰】](https://blog.csdn.net/update7/article/details/129680159)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [PythonJSON 格式化输出](https://blog.csdn.net/update7/article/details/129717519)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [pythonjson 格式化输出](https://blog.csdn.net/jacke121/article/details/115438658)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值