基本思路:

1、确定指定目录

2、判断指定目录是否存在,如果不存在就新建该目录

3、修改新的文件名

4、复制图片到指定位置,如果需要移动采用

shutil.move(origin_path, new_file_name)
import os
import shutil
base_dir = os.path.dirname(__file__)   # 获取当前文件目录
outfile = 'try_file'
path = os.path.join(base_dir, outfile) # path是需要把文件复制到的指定位置
# 我这儿达到的目的是:在py脚本的文件夹下新建try_file文件夹,并把图片改名保存到try_file文件下
# path也可以写成
# path = r'D:\try_file'
if os.path.exists(path):
    pass
else:
    os.mkdir(path)
new_file_name = r'%s\1___%s_%s_%s_%s.jpg' % (path, '我的', '妈呀', "hahaha", 123)  # 文件新名字
origin_path = r'D:\111_1231_haha.jpg'    # 原始文件完整目录
shutil.copyfile(origin_path, new_file_name)

shutil的官方使用文档:https://docs.python.org/3.6/library/shutil.html

# 复制文件:
shutil.copyfile("oldfile", "newfile")  # oldfile和newfile都只能是文件
# 复制文件夹:
shutil.copytree(r"D:\stuy", r"D:\newfile")  # olddir和newdir都只能是目录,且newdir必须不存在
# 重命名文件(目录)
os.rename(r"D:\newfile", r"D:\newfile1")  # 文件或目录都是使用这条命令
# 移动文件(目录)
shutil.move(r"D:\test", r"D:\test1")
shutil.move(r"D:\1___我的_妈呀_hahaha_123.jpg", r"D:\test1\111_1231_haha.jpg") #test1文件夹必须存在

python错误——SyntaxError: EOL while scanning string literal

python中,如果你的字符串最后一位是斜杠(slash)字符,那么即使字符串前面加了r表示regular的普通字符串,也是无法通过编译的,也是会导致SyntaxError的。

比如这样:r'D:\stuy1\'

解决方法:去掉最后的\

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐