python对文件的操作

python对文件的操作一.python21.将字符串写入文件#-*-coding:utf-8-*-data_str=”Helloworld!!!”file_object=open(‘D:/test.txt’,’w’)file_object.write(data_str)file_object.close()2.以追加的方式写入文件#-*-coding:utf-8…

大家好,又见面了,我是你们的朋友全栈君。

一.python2

1.将字符串写入文件

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

data_str = "Hello world!!!"
file_object = open('D:/test.txt', 'w')
file_object.write(data_str)
file_object.close()

2.以追加的方式写入文件

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

data_list = ["我是第一行","我是第二行","我是第三行","我是第四行"]
file_object = file("D:/text.txt", "a+")
for i in data_list:
    file_object.write(i)
file_object.close()

3.清空文件内容

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

file_object = file("D:/test.json", "a+")  # 以追加的方式
file_object.truncate()
file_object.close()

4.删除文件最后一个字符

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

import os

# 不要是中文字符,不然会出现乱码
file_object = file("D:/test.txt", "a+")
file_object.seek(-1, os.SEEK_END)
file_object.truncate()
file_object.close()

 5.以固定的编码格式打开文件并读写

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

import codecs
file_path = "markov30_for_xs80.txt"
file_object = codecs.open(file_path, 'r', encoding='utf-16 LE')

for index, line in enumerate(file_object):
    print line

二.python3

1.将字符串写入文件

data_str = "哈哈"
file_object = open("test.txt", 'w', encoding="utf8")
file_object.write(data_str)
file_object.close()

2.以追加的方式写入文件

str_list = ["我是第一行", "我是第二行", "我是第三行", "我是第四行"]
file_writer = open("test.txt", "a+", encoding="utf8")
for i in str_list:
    file_writer.write(i)
file_writer.close()

3.清空文件内容

file_writer = open("test.txt", "rb+")
file_writer.truncate()
file_writer.close()

4.删除文件最后一个字符

# 不要是中文字符,不然会出现乱码

import os

file_object = open("test.txt", "rb+")
file_object.seek(-1, os.SEEK_END)
file_object.truncate()
file_object.close()

5.按行读取 txt 等文本文件

file_object = open("C:/abc.txt", "r+")
line = file_object.readline()

while line:
    line = file_object.readline()
    if line.strip() == "":
        continue
    one_data = line.strip().replace("	", ",").replace("	", ",").split(",")
    print(one_data)

file_object.close()

6.直接读取 txt 等文本文件

file_object = open("C:/abc.txt", "r+")
file_data_str = file_object.read()
file_object.close()

7.直接将字符串写入文件

data_str = "abcdefg"
txt_file = open("C:/abc.txt", 'w')
txt_file.write(data_str)
txt_file.close()

 三.文件夹操作

1.创立文件夹

"""
创建文件夹
"""
import os


def create_dir(path):
    if_exist = os.path.exists(path.strip().rstrip("\\"))
    if not if_exist:
        os.mkdir(path)
        print(path + ' 创建成功')
        return True
    else:
        print(path + ' 目录已存在')
        return False


create_dir("D:/test")

2.循环创建多层文件夹

"""
循环建立多层文件夹
"""
import os


def create_dir(path):
    if_exist = os.path.exists(path.strip().rstrip("\\"))
    if not if_exist:
        os.makedirs(path)
        print(path + ' 创建成功')
        return True
    else:
        print(path + ' 目录已存在')
        return False


create_dir("D:/test/test/test")

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/141586.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • LAMP配置笔记

    LAMP配置笔记1>apache的配置文件路径:/etc/apache2/apache2.conf2>php的配置文件路径:/etc/php5/apache2/php5.ini3>mysql配置文件路径:/etc/mysql/my.cnf4>phpmyadmin配置文件路径:/etc/phpmyadmin/apache.conf5>网站根目录:/var/

    2022年5月3日
  • QT——开发入门简介

    QT——开发入门简介1、你了解Qt吗?Qt是一种基于C++的跨平台图形用户界面应用程序开发框架。如何跨平台?上到服务器上位机,下到嵌入式GUI,上天入地无所不能。Qt最早是由1991年由QtCompany开发,但是到2008年,QtCompany科技被诺基亚公司收购,是的,就是拥有着我们很多情怀的诺基亚。但在2012年,Qt又被Digia收购。等到了2014年,跨平台集成开发环境QtCreator3.1….

    2022年5月17日
  • java 文件锁[通俗易懂]

    java 文件锁[通俗易懂]今天在分析HDFS数据节点的源码时,了解到在数据节点的文件结构中,当数据节点运行时,${dfs.data.dir}下会有一个名为”in_use.lock”的文件,该文件就是文件锁。文件加锁是JDK1.4引入的一种机制,它允许我们同步访问某个作为共享资源的文件。竞争同一文件的两个线程可能在不同的Java虚拟机上,或者一个是Java线程,另一个是操作系统中的某个本地线程。文件锁对其他的操作系

    2022年6月28日
  • MySQL数据库备份脚本

    MySQL数据库备份脚本概述远程或者本地备份mysql数据库,并且保存最新7天的备份内容。#!/bin/sh#definevariables#thelogininformationofyourmysqldb.login_user=""login_passwd="&a

    2022年6月13日
  • 网络层传输层(计算机网络传输层大题)

    概述传输层的意义网络层可以把数据从一个主机传送到另一个主机,但是没有和进程建立联系。传输层就是讲进程和收到的数据联系到一起,使数据能够为应用服务所以说传输层是主机才有的层次传输层的两个协议传输层的寻址和端口端口号只用于计算机分辨本地进程,总共有2^16=65536种端口号,端口号有很多种,不能随便使用常见的应用程序端口号UDP协议UDP概述注释:因为UDP一次发送一个完整报文不会分片,所以需要应用层传输过来的数据不要太大,否则网络层分片任务就很重,但是也不能太小,不然效率较低

    2022年4月11日
  • org.springframework.web.context.ContextLoaderListener

    org.springframework.web.context.ContextLoaderListener

    2021年7月17日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号