Python笔记

FileExistsError:[WinError 183] 该文件已存在时无法创建该文件 #

问题:os保存文件到本地并复制时,若目录下已经有同名文件,则出现该错误。

解决:做一个if判断,然后else一个处理方法,如果有多个if,则if嵌套,例

import shutil
import so

# 文件保存本地txt,没有文件则自动创建
f = open('moon/working/doc_01.txt', 'a+', encoding='utf-8')
# 复制文件
shutil.copy('moon/working/doc_01.txt', 'moon/backups/')
# 重命名备份文件,同时判断文件是否存在
new_file = os.path.exists('moon/backups/new_1.txt')#定义要重命名的文件
if new_file == True: #如果重名,返回Trun并执行if语句
del_file = 'moon/backups/new_1.txt'#定义要删除对象
os.remove(del_file)#删除
else:
pass  #不重名,则什么也不做
# 再次重命名备份文件
os.rename('moon/backups/doc_01.txt', 'moon/backups/new_1.txt')
print("原稿已备份并重命名...")

Python文件处理,如何用标题命名文件的方法 #

要注意两点:1. 要用f‘code{变量}.xxx’把代码包起来;2. 要确保title是str,不确定的话就str(title)一下。

title = '我是一个标题' #定义title

# 用rename方法重命名,用花括号把量传进去,注意必须用f把整段标进来
os.rename('moon/backups/doc_01.txt', f'moon/backups/{title}.txt')

保留循环中的所有变量,将所有遍历结果存为列表 #

list = [] #新建一个空列表
for tiem in i:
list.append(item)
print(list)

读取本地txt并组装成列表 #

path = 'moon/working/doc_01.txt'
# 读取文件
file = open(path, encoding="utf-8")
results = []
# 逐行读取
for line in file:
if line == '\n': #跳过空白行
continue
results.append(line.strip())
file.close() # 关闭文件
print(列表已生成...")

Powered by BetterDocs

发表评论