【Python】文件操作(创建 | 读写 | 保存 | 文件名)

文章目录

一、判断存在判断文件夹是否存在判断文件是否存在

二、创建,复制, 删除, 重命名创建文件,文件夹复制文件,文件夹:删除文件,文件夹重命名文件,文件夹移动文件,文件夹

三、保存, 读取.npy 文件.txt 文件

四、提取,修改,添加文件名参考链接

一、判断存在

os.path.exists("goal")

判断文件夹是否存在

import os

dirs = '/Users/joseph/work/python/'

if not os.path.exists(dirs):

os.makedirs(dirs) # 创建文件夹

判断文件是否存在

import os

filename = '/Users/joseph/work/python/poem.txt'

if not os.path.exists(filename):

os.system(r"touch {}".format(path)) #调用系统命令行来创建文件

os.path.isdir("goal") # 判断目标是否目录

os.path.isfile("goal") # 判断目标是否文件

二、创建,复制, 删除, 重命名

创建文件,文件夹

os.mknod("test.txt") # 创建空文件

os.mkdir("file") # 创建文件夹

复制文件,文件夹:

shutil.copyfile("oldfile", "newfile") # oldfile和newfile都只能是文件

shutil.copy("oldfile", "newfile") # oldfile只能是文件夹,newfile可以是文件,也可以是目标目录

shutil.copytree("olddir", "newdir") # olddir和newdir都只能是目录,且newdir必须不存在

删除文件,文件夹

os.remove("file")

os.rmdir("dir") # 只能删除空目录

shutil.rmtree("dir") # 空目录、有内容的目录都可以删

重命名文件,文件夹

os.rename("oldname","newname") # 文件或目录都是使用这条命令

移动文件,文件夹

shutil.move("oldpos","newpos")

三、保存, 读取

.npy 文件

data = [1, 2, 3]

m = np.array(data)

np.save('data.npy',m) # 保存

a = np.load('data.npy') # 读取

.txt 文件

np.savetxt(FILENAME, a, fmt="%d", delimiter=",") # 保存

np.loadtxt(FILENAME, dtype=int, delimiter=' ') # 读取

追加到文件末尾

with open("test.txt", "ab") as f:

np.savetxt(f, a)

with open() as f: 相关参数: r: 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 rb: 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。 r+: 打开一个文件用于读写。文件指针将会放在文件的开头。 rb+:以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。 w: 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 wb: 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 w+: 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 wb+:以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 a: 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 ab: 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 a+: 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 ab+:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

参数设置

numpy.savetxt(fname, X, fmt='%.18e', delimiter=' ', newline='\n', header='', footer='', comments='# ', encoding=None)

numpy.loadtxt(fname, dtype=, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0)

fmt参数:控制数据格式

fmt='%.3e' (小数点后保留3位); fmt='%d' (整数);fmt='%5d' (数据长度)

delimiter参数:每列数据之间的分割符号,默认为空格

delimiter='|' ; delimiter='%%' ;delimiter=','

newline参数:每行数据之间的分割符,默认换行 header和footer参数:在文件头和文件尾增加的说明语句 comments参数:注释时使用的字符或者字符串

四、提取,修改,添加文件名

import os

path='C:/Users/Administrator/Desktop/s_hall/5' # 待修改文件名的文件夹路径

datanames=os.listdir(path) # 读取该文件夹下的文件名datanames(是一个列表)

for i in datanames: # i是原来的名字

n=i.split('.')

new_i=n[0][:2] # 保留文件名中的前两位, n[0]指'.'之前的部分,n[0][:2]值前部分里的第0-2个字符

new_name=new_i+'.jpg' # 新的文件名

if i.endswith(".JPG"): # 判断是否是.jpg文件

os.rename(os.path.join(path,i),os.path.join(path,new_name)) #重命名

import os

path='C:/Users/Administrator/Desktop/s_hall_mobile/1'

datanames=os.listdir(path)

for i in datanames:

n=i.split('.')

new_i=n[0]+"1" # 在此处有区别:把想要增加的内容,以字符串的形式放在末尾即可

new_name=new_i+'.jpg'

if i.endswith(".jpg"): # 判断是否是.jpg文件

os.rename(os.path.join(path,i),os.path.join(path,new_name))

参考链接

python 判断目录和文件是否存在,若不存在即创建python文件不存在时创建文件_python判断文件和文件夹是否存在、创建文件夹Python-with open() as f的用法np.savetxt()将代码中数据存到本地(复数or十进制or字符串)Numpy官网Python修改文件名(保留指定部分&在末尾增加指定内容)

Copyright © 2022 篮球世界杯_世界杯亚洲区名额 - cdbnfc.com All Rights Reserved.