新大榭论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

《新大榭》- 创大榭地方网络社区先锋品牌 新大榭始终专注于地方网络社区平台的建设 关于我们- [大记事]- 留言建议- [新手报道]

发布 .新大榭软件管家(Excel版) V5.9版 财务/仓库/生产/销售/采购/行政/人事/校园 .公告 - 客户 - 打赏 - 职场 - Excel - Python.

新大榭镜像-音乐-法律-图书-高中课堂-实验 广告是为了能更好的发展 [欢迎商家支持本站互利共赢] 广告位招租.首页黄金广告位等您来!联系 13566035181

查看: 795|回复: 1

[案例] 7978 - [原创] 批量创建个性化文件夹

 关闭 [复制链接]
发表于 2021-11-6 13:51:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!

您需要 登录 才可以下载或查看,没有账号?注册

x
方法一:读取txt的每一行数据创建对应名字的文件夹3 [+ U5 t: o) F

#1 通过函数调用解决创建固定的文件夹
% u5 N, L% p+ f# o+ z#2 创建一个txt文件输出里面的内容输出/ m% w! }$ C1 [4 ^1 E. {# O  j7 q
#3 将txt输出内容和创建文件夹链接完成任务; ?. P- Z7 [% H+ ^( M
#4 后续补充检测文本文件是否存在,不在报错
% i) F0 G6 a' f6 m  j( Q" x#5 后续补充如果已经有了文本中的文件夹跳过这个文件名创建下一个
' ?1 J3 f  U! H: F4 W/ P! c# I
# 反思:目前创建的文件夹目录固定、文本文档位置固定$ M& n. ~4 I0 h( o
# 完善功能:' k% r6 a) d9 [' r. t% o
#1. 先把文件夹目录改为交互式用户设置9 U5 \$ H; ]; B$ Q3 B
#2. 检测txt文件是否存在
7 Y# r2 L9 e' ^0 i8 e! S
  1. #!/usr/bin/python3 O. o8 H. [  I# W7 {
  2. #-*-coding:utf-8-*-
    4 H# {* E; p8 a* ~
  3. import os% G, Y. ?; Q% U
  4. def mkdir(path):
    ) D7 M8 E- k7 C0 V8 \" |
  5.     folder=os.path.exists(path)$ Z  {6 \6 A; O8 w" |
  6.     if not folder:
    + n, Y  Z0 B% b3 X; f
  7.         os.makedirs(path). \% E0 w+ U& V& f! ~
  8.         print(path+"---OK---")
    5 |9 Z# V- n' d% ]+ g) }; k8 {" o
  9.     else:9 k' U+ u' G0 ]# a% S
  10.         print(path+"---There is this folder!---")
    6 P, g$ O, c# K! o' b% \

  11. & S# S: u3 w) C, P. ^& P
  12. if __name__=='__main__':
    % S# U3 b' E% |4 @
  13.     file = "D:\": d$ P3 }# ?: {) [) \& s2 W/ c- D& s1 v
  14.     #例子:file = "D:\\python\\NewFile\\folder\". v! ~8 V( ~9 v+ x$ l5 g" Y( c
  15.     with open('txt.txt','r') as f:
    * Q( q% r2 v3 d, ~
  16.     #例子:with open('python/txt.txt','r') as f:
    / K& A9 p9 Q; w( ^! [8 p
  17.         lines=f.readlines()4 E; }/ T* N( a
  18.         for line in lines:5 L( ^) x. Q; A/ d$ {
  19.             folder=file+line, k( z, {  k8 X3 n$ N+ L& N- u4 I
  20.             #strip()方法移除字符串头尾指定的字符; t" f1 {% ]% Q+ i# O
  21.             folder=folder.strip()
    8 L' v! U% A) P; n7 M* K
  22.             #print (folder)
    8 z- J+ r: G, ^4 ]7 s7 N2 j
  23.             mkdir(folder)
复制代码
注意:txt文本格式为默认编码,注意与当前python文件相对路径位置;

7978-01.zip

1.43 KB, 阅读权限: 255, 下载次数: 0, 下载积分: 财富 -1 点

售价: 100 个金币  [记录]  [购买]

实例

新大榭Python学习社区培训、Excel业务指导、办公软件定制、网站建设;新大榭探索实验室欢迎您!http://lab.daxie.net.cn/
Q群推荐 大榭本地求职招聘QQ群,欢迎转发分享本地招聘信息资讯! 官方招聘1群(已满);官方招聘2群:315816937 *
 楼主| 发表于 2021-11-6 15:35:10 | 显示全部楼层
方法二:读取Python列表创建对应名字的文件夹
( n+ m- R# }- q! ]
如果读取TXT文件不够方便,那么我们可以使用Python的for循环创建文件夹,同时支持多级文件夹的创建,需要注意的是创建下级文件夹之前必须先完成创建上级文件夹,否则程序会报错,采用该方案的优点是:其一支持多级目录,其二是单独一个文件,在哪个目录下运行都没关系,只要支持Python就行,呵呵~9 Q1 }. K: p( {% X6 Z
实例 2.1 代码如下:: f/ H" u& y5 P5 t0 f# J3 q$ p
  1. import os, sys; M$ n. S3 N9 Q  E
  2. base = 'D:/新大榭/'
    % P9 x& G% j/ r. l
  3. for i in ["360Downloads","360Downloads\\新大榭","360SoftMgrGame","360安全浏览器下载","360极速浏览器下载"]:  + r: K- Y3 y8 L' w: G1 n
  4.     file_name = base + str(i)
    % w2 y5 O' c7 R- B6 u
  5.     os.mkdir(file_name) - E2 M0 K0 y+ N/ M5 F6 b$ a
  6. print("电脑初始化目录设置完成!")
复制代码
是不是2.1代码无法运行报错了,为了避免主目录由于没有建立引起的出错,我们可以这样写,同时更符合程序化设计,支持未来的模块自动化升级:
- e. [) N, h. ?) f实例 2.2 代码如下:! D1 G( N% m9 V) \" e. B& N3 V: D
  1. import os, sys9 u6 k. O0 R) {0 n
  2. base = 'D:/'
    1 ^* m4 O+ d+ o  c
  3. L = list(["360Downloads","360Downloads\\新大榭","360SoftMgrGame","360安全浏览器下载","360极速浏览器下载"]), B+ y5 V" L; ~- D. B
  4. for i in L:  
    4 r/ m. b8 v9 B  ~+ X! {" L
  5.     file_name = base + str(i)
    * b! P" j7 u" u, G: A$ X
  6.     os.mkdir(file_name)
    7 i) `+ D6 a4 e4 l/ P' n! w
  7. print("电脑D盘目录初始化设置完成!")
复制代码
此方法缺点:如果已经创建了相同的文件夹,则程序会报错,而方法一却不会出错,后期会修正该错误,不断学习,加油!

7978-02.zip

460 Bytes, 阅读权限: 255, 下载次数: 0, 下载积分: 财富 -1 点

售价: 100 个金币  [记录]  [购买]

实例

新大榭Python学习社区培训、Excel业务指导、办公软件定制、网站建设;新大榭探索实验室欢迎您!http://lab.daxie.net.cn/
新大榭官方公益帮帮群:6603298 官方Excel学习交流群:82064486  欢迎您加入
您需要登录后才可以回帖 登录 | 注册

本版积分规则

新大榭七周年,感谢由您!

文字版|小黑屋|新大榭 ( 浙ICP备16018253号-1 )|点击这里给站长发消息|

GMT+8, 2025-11-3 14:40 , Processed in 0.101413 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表