Day6 python对文件的操作——百度飞桨领航团零基础Python入门


前言

随着人工智能的不断发展,Python这门技术也越来越重要,很多人都开启了学习python,本文就介绍了机器学习的基础内容。课程地址:https://aistudio.baidu.com/aistudio/course/introduce/7073


提示:以下是本篇文章正文内容,下面案例可供参考

一、JSON是什么?

JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。

二、python对文件的操作

1.写入文件内容

open(‘work/data.txt’,‘w’)第一个参数文件路径,第二个参数打开文件的模式
f.write(‘this is file content’)参数为写入的内容 f.close()关闭文件

f = open('work/data.txt','w')
f.write('this is file content')
f.close()

2.打开、读取、关闭文件

open() 为bif(内置函数),参数有多个,必须的是文件路径。 返回的一个文件对象。
file.readline(),读取文件中的一行。
file.close()关闭文件

f = open('work/train_data_cor.txt')
line = f.readline()
print(line)
line = f.readline()
print(line)
f.close()

文件数据若有问题采用两种解决方式

1.使用异常跳过有问题的数据

f = open('work/train_data_wrg.txt')
for line in f:
  
    data = line.strip().split(',')
    try:

        print('姓名:'+data.pop(0)+'生日:'+data.pop(0)+'时间:'+str(data))
    except:
        pass
f.close()

2.增加代码判断


#代码判断
f = open('work/train_data_wrg.txt')#1
for line in f:#2
  
    data = line.strip().split(',')

    if len(data) != 1:
        print('姓名:'+data.pop(0)+'生日:'+data.pop(0)+'时间:'+str(data))

f.close()#3

file对象的函数列表

with open('work/train_data.txt') as f:
    data = f.read()
    print('整个文件\n'+data)
    f.seek(0)
    data = f.read(10)
    print('读取指定大小的文件内容\n'+data)
    print(f.tell())

写入文件内容

f = open('work/data.txt','w')
f.write('this is file content')
f.close()

对象转JSON

import json
class Athlete(json.JSONEncoder):
    def __init__(self,a_name,a_dob=None,a_times=[]):
        self.name = a_name
        self.dob = a_dob
        self.times = a_times
    def top3(self):
        return sorted(set([self.sanitize(t) for t in self.times]))[0:3]
    def sanitize(self,time_string):
        if '-' in time_string:
            splitter = '-'
        elif ':' in time_string:
            splitter = ':'
        else:
            return (time_string)
        (mins,secs) = time_string.split(splitter)
        return (mins+'.'+secs)


with open('work/train_data_cor.txt') as f:
    data = f.readline().strip().split(',')
    ath = Athlete(data.pop(0),data.pop(0),data)
    print(ath)

ath_json = json.dumps(ath.__dict__)

内中的json形式的变量保存到文件

with open('work/json.txt','w') as f:
    json.dump(ath_json,f)

读取json文件内容


with open('work/json.txt') as f:

    ath = json.load(f)
    print(ath)

目录访问


import os
#返回当前工作目录
current_path = os.getcwd()
print('当前路径:'+current_path)
In [ ]
#改变当前工作目录
os.chdir('/home/aistudio/work')
#运行mkdir命令
os.system('mkdir today')

from pathlib import Path
#返回当前绝对路径
abs_path = os.path.abspath('')
print('abs_path:'+abs_path)
#路径是否存在
Path(abs_path).exists()

print('当前路径:'+os.getcwd())
listdir = os.listdir()
#返回当前路径下文件和文件夹名
print(listdir)

#是否为文件夹
os.path.isdir('/home/aistudio/work/today')

显示work路径下的所有类型为txt的文件

import os
listdir = os.listdir('/home/aistudio/work')

target = []
for name in listdir:
    #防止文件名与文件夹名一样的情况
    # print(os.path.isfile(name))
    
    temp = name.split('.')
    (filename,filetype) = (temp.pop(0),temp.pop(0))
    if filetype == 'txt':
        target.append(name)
 
    # print('name:%s,type:%s' %(filename,filetype))

print(target)

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了python的文件处理和json对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值