python中的文件操作

起初data.txt文件是这样的

python中的文件操作

# 一直打开文件但却不关闭文件会导致内存溢出

# 在python,使用open函数,
# 可以打开一个已经存在的文件,或者创建一个新文件,
# 语法如下: open(name, mode)
# name: 是要打开的目标文件名的字符串(可以包含文件所在的具体路径)。
# mode: 设置打开文件的模式(访问模式):只读、写入、追加等。

# mode  r w a

# r 只读不支持写入
# 使用f.write()会报错
# 如果读取的文件不存在就报错


# read(num) 读取数据,
# num不写默认读取全部数据 num写了就读取指定大小的字节
f = open('data.txt', 'r')
print(f.read())  # 读取全部数据
f.close()

输出:

python中的文件操作

 

 

 

 

# 注意:如果执行了一次 read 方法,读取了所有内容,
# 那么再次调用 read 方法,是不能读取到任何的内容,
# 因为第一次读取之后,文件指针移动到了文件末尾,
# 再次调用不会读取到任何的内容。

# readlines()  # 将文件里面的数据按行保存到列表中
# readline()  # 运行一次读取一行
f = open('data.txt', 'r')
print(f.readlines())
data = f.readlines()
# data = f.readlines()[1]  # 读取第二行
print(data)  # 因为运行完上一个readlines()光标在文件末尾
f.close()

python中的文件操作

 

 

 

 

起初是这样的:

python中的文件操作

 

 

 

# w 覆盖写
# 如果该文件存在,则打开文件并从开头开始编辑,即原有内容会被删除。
# 如果该文件不存在,创建新文件。

# writelines() 将列表里的数据保存到文件中
data = ['静夜思666n', '唐66代:李白n', '床前明月光,疑是地上霜。n', '举头望明月,低头思故乡。']
f = open('data1.txt', 'w')
f.writelines(data)
f.close()

运行后data1.txt变为了:

python中的文件操作

 

 

 紧接着运行

f = open('data1.txt', 'w')
f.write('zbc')
f.close()

python中的文件操作

 

 

 因为,访问模式为w时,光标每次都从文件开头开始,即原有内容会被删除

 

紧接着运行了两次下面这几行代码

# a 追加数据
f = open('data1.txt', 'a')
f.write('nzbcn')  # 注意换行符
f.close()

python中的文件操作

 

 

 

运行下面代码

# r+ 读写  w+ a+
f = open('data.txt', 'r+')
f.write('')  # 会覆盖第一行的相应字符 汉字占两个字节
f.close()

运行后:

python中的文件操作

 

 

 

 

起始时:

python中的文件操作

运行代码:

# 文件与文件夹的操作
# 复制 删除 重命名 移动

import os  # 导入模块

# 重命名
# os.rename(文件(夹)名称, 新的名称)  # 重命名
# 若原文件不存在,则报错
os.rename('abc.txt', 'data1.txt')

运行后:

python中的文件操作

 

 

 

 运行前:

python中的文件操作

 

 

 运行代码:

os.rename(r'D:xiangxuexue\01\day15', r'D:xiangxuexue\01\day-15')  # 要注意那个r!!!

运行后:

python中的文件操作

 

 

 

运行前:

python中的文件操作

运行代码:

os.remove(r'data1.txt')  # 删除文件

运行后:

python中的文件操作

 

 

 

运行前:

python中的文件操作

 

 

 运行代码:

os.mkdir('data')  # 创建一个文件夹

运行后:

python中的文件操作

 

 

 

 

运行前:

python中的文件操作

 

 

 运行代码:

os.makedirs('data\data2')  # 创建整个路径的文件夹

运行后:

python中的文件操作

 

 紧接着运行代码:

os.rmdir('data\data2')  # 只会删除最里面的一个文件夹

运行后:

python中的文件操作

 

 

运行代码:

# # 查找
data = os.listdir(r'D:xiangxuexue1day16')  # 返回一个列表 文件夹里面的文件
print(data)  # ['data', 'data.txt', '__init__.py', '文件操作.py']

print()
data = os.walk(r'D:xiangxuexue1day16')
for i in data:
    print(i)  # 看路径


# 获取当前路径
print()
print(os.getcwd())  # D:xiangxuexue1day16


# 判断文件是否存在
if os.path.exists('data.txt'):
    print('yes')

输出:

python中的文件操作

 

 

 

运行前:

python中的文件操作

 

 运行代码:

import shutil
shutil.copy('data.txt', r'D:xiangxuexue1useless')  # 只复制
shutil.copy('data.txt', r'D:xiangxuexue1uselessdata2.txt')  # 复制加重命名

运行后:

python中的文件操作

 

 

 

今日练习;

# 今日练习
'''
1、
创建一个data.txt的文件
2、用文件的写的方法往里面写上一首诗,并输出里面的全部内容
静夜思
唐代:李白
床前明月光,疑是地上霜。
举头望明月,低头思故乡。
3、删除最后一行的诗句后并输出删除后的内容
'''
print('今日练习')
f = open('data.txt', 'w+')  # 创建data.txt文件
# poem = ['静夜思n', '唐代:李白n', '床前明月光,疑是地上霜。n', '举头望明月,低头思故乡。']
# f.writelines(poem)  # 参数是个列表!而write()参数是个字符串
f.write('静夜思n唐代:李白n床前明月光,疑是地上霜。n举头望明月,低头思故乡。')
f.seek(0)  # 将指针放置开头,以便输出全部内容
print(f.read())  # 输出全部内容
f.close()

f = open('data.txt', 'r')
data = f.readlines()  # 以每行为一个元素,以列表形式存储!

del data[3]  # 删除最后一行
print(data)

# data.pop()  # 默认删除最后一行,并返回删除的内容
# print(data)

f.close()

运行后;

python中的文件操作

 

 python中的文件操作

 

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python中的文件操作 - Python技术站

(0)
上一篇 2023年4月2日
下一篇 2023年4月2日

相关文章

  • python中的函数进阶

    1.局部变量和全局变量 在函数外定义的不可变数据类型,在函数里面是可读不可写在函数外定义的可变数据类型,在函数里面可读可操作不可修改不可变类型传入函数,进行的操作不会影响到外面的变量但是当我们声明一个变量为全局变量后,进行的操作会影响到函数外的变量 可变数据类型,传入和直接使用都会改变原本的数据不可变数据类型 直接使用是可读不可写的 传入后的操作不会对函数外…

    2023年4月2日
    00
  • python函数入门

    1.函数的作用 # sum() max() min() len() type() # 使用函数都需要加一个括号 # 有自己的功能 # ‘a’.replace() # 称为方法 点出来的有括号的称为方法 # a.name # 称为属性 # sum() # 是函数 # 不加括号时,sum代表的是整个函数 # 加了括号时,sum()代表的是使用函数 # 1.函数的…

    2023年4月2日
    00
  • python中的高阶函数

    1.匿名函数 # lambda表达式 # 匿名函数 # 没有名字的函数 相当于 # 优点:节省内存空间 优化代码 # def add(a, b): # return a+b def add(a, b): return a + b # 当函数里面的代码只有一行的时候可以这样写! print(add(1, 2)) # 但函数里面的代码只有一行,可以转换为匿名函数…

    2023年4月2日
    00
  • python中的字典和集合

    # 1.字典 存储数据 存储一个数据的属性 可以快速进行查找 # dict_data = {key:value,key:value,…} # key是键 # value是值 # 以大括号表示 # 数据是以键值对出现的 键值对中间用冒号连接 # key的值必须是不可变类型 # 字典和列表和集合是可变类型 print(‘1.字典’) dict_data = …

    2023年4月2日
    00
  • python中的公共操作与列表推导式

    1.公共操作 # + 合并 将两个相同类型序列进行连接 字符串、 列表、元组 l1 = [1, 2, 3] l2 = [4, 5, 6] print(l1+l2) # [1, 2, 3, 4, 5, 6]     # * 复制 将里面的数据进行复制 字符串、列表、元组 l1 = [1, 2, 3] print(l1 * 3) # [1, 2, 3, 1, 2…

    2023年4月2日
    00
  • python中的公共操作和推导式

    # 1.公共操作 # del 删除 删除变量或指定容器内数据 变量,容器里面的值 # + 将两个相同类型序列进行连接 字符串,列表,元组 print(‘1.公共操作’) print(‘a’ + ‘b’) print([‘a’] + [‘b’]) print((‘a’,)+(‘b’,)) # 元组,要有, # print({1:2}+{2:3}) # 字典不行…

    2023年4月2日
    00
  • python中的while循环

    1.while循环 “”” while 条件: 执行语句1··· 执行语句2·· “”” # while 1+1 == 2: # print(‘666’) # 计数器 叫法 代表一个功能 # i = 0 # 定义一个临时变量 记录循环次数 # while 1 + 1 == 2: # i += 1 # 循环次数+1 自增1 # print(‘我帅’, i) i…

    2023年4月2日
    00
  • python函数进阶

    # 1.函数的作用域 # 全局变量的作用域: # 一般在函数体外定义的变量成为全局变量,在函数内部定义的变量称为局部变量。 # 全局变量所有作用域都可用,局部变量只能在本函数可用,变 # 量的使用顺序是,局部变量 > 全局变量, 也就是说:优先使用局部变量 # # global关键字: # 为了解决函数内使用全局变量的问题, # python增加了gl…

    2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部