文件读取赋值给数组
def file2array(filepath):
filepath=filepath
ary=[]
with open(filepath,'r') as f:
for line in f:
ary.append(line)
return ary
文件中的数据:
0
1
2
调用结果:
['0\n', '1\n', '2']
需要使用strip来去掉回车
另外一种方法,在读文件的时候就把回车去掉
def file2array(filepath):
filepath=filepath
ary=[]
with open(filepath,'r') as f:
for line in f:
ary.append(line.strip('\n'))
return ary
调用结果
['0', '1', '2']
删除文件夹
文件夹为空的话,用os模块就可以
import os
os.remove(path) # path是文件的路径,如果这个路径是一个文件夹,则会抛出OSError的错误,这时需用用rmdir()来删除
os.rmdir(path) # path是文件夹路径,注意文件夹需要时空的才能被删除
os.unlink('F:\新建文本文档.txt') # unlink的功能和remove一样是删除一个文件,但是删除一个删除一个正在使用的文件会报错。
文件夹不为空,可以使用shuttil模块
dest_folder='C:\\SimplyLive_Log_Collector\\log'
shutil.rmtree(dest_folder)
成功
拷贝文件
#导入shutil模块和os模块
import shutil,os
#复制单个文件
shutil.copy("C:\\a\\1.txt","C:\\b")
#复制并重命名新文件
shutil.copy("C:\\a\\2.txt","C:\\b\\121.txt")
#复制整个目录(备份)
shutil.copytree("C:\\a","C:\\b\\new_a")
#删除文件
os.unlink("C:\\b\\1.txt")
os.unlink("C:\\b\\121.txt")
#删除空文件夹
try:
os.rmdir("C:\\b\\new_a")
except Exception as ex:
print("错误信息:"+str(ex))#提示:错误信息,目录不是空的
#删除文件夹及内容
shutil.rmtree("C:\\b\\new_a")
#移动文件
shutil.move("C:\\a\\1.txt","C:\\b")
#移动文件夹
shutil.move("C:\\a\\c","C:\\b")
#重命名文件
shutil.move("C:\\a\\2.txt","C:\\a\\new2.txt")
#重命名文件夹
shutil.move("C:\\a\\d","C:\\a\\new_d")
打开文件
with open('C:\\SimplyLive_Log_Collector\\log\\current_PC_info.txt','a') as f:
这里的参数a,表示:当文件不存在时会自动创建
列表总结:
mode | 文件存在 | 文件不存在 | 读 | 写 | 流位置 |
---|---|---|---|---|---|
r | 读取文件内容 | 错误 | √ | × | begin |
w | 清空文件内容 | 创建 | × | √ | begin |
a | 保留原始内容 | 创建 | × | √ | begin/end |
r+ | 读写文件内容 | 错误 | √ | √ | begin |
w+ | 清空文件内容 | 创建 | √ | √ | begin |
a+ | 保留原始内容 | 创建 | √ | √ | begin/end |
判断文件或者文件夹是否存在
主要涉及到三个函数
1、os.path.exists(path) 判断一个目录是否存在
2、os.makedirs(path) 多层创建目录
3、os.mkdir(path) 创建目录
os.path.exists(path) #文件或者文件夹判断都可以,不过只支持路径,不支持具体的某个文件
判断某个文件是否存在
import os
os.path.isfile("test-data")
修改文件名字(tga文件)
import os
path = "Y:/1080tga/1080tga_big/Tennis Channel TGA/CC BG1/" # 目标路径
"""os.listdir(path) 操作效果为 返回指定路径(path)文件夹中所有文件名"""
filename_list = os.listdir(path) # 扫描目标路径的文件,将文件名存入列表
print(type(filename_list[0]))
a = 0
t=1000
for i in filename_list:
used_name = path + filename_list[a]
print(used_name)
temp_t=str(t)
new_name = path + 'Comp 3_0'+temp_t+'.tga'
print(new_name)
os.rename(used_name,new_name)
a += 1
t +=1