大佬们好,简单的说明一下目的,在用户选择的目录下创建固定的文件夹,根据当前时间以及项目名称创建文件夹如: 20220613_V2EX 拍摄项目 camera 20220613-A7S3 20220613-RED V-RAPTOR audio vedio fx sound fx ....
当然现在是半成品,期待大佬们点评现在的代码,有什么不足,以及分享思路,万分感谢!!!
链接: https://pan.baidu.com/s/1WFj3hHCCeuCStXSb3aB5Tw 提取码: wh56
1
yfugibr 2022-06-13 16:58:41 +08:00 14
看得出来,居然把代码发百毒
|
2
AS4694lAS4808 2022-06-13 17:00:25 +08:00
至少来个码云吧
|
3
learningman 2022-06-13 17:05:30 +08:00 via Android
这 ZJM ,一点看的预言都没有
|
4
ansonsiva 2022-06-13 17:09:56 +08:00 4
|
5
equationl 2022-06-13 17:10:20 +08:00
v2 支持 markdown ,可以直接贴代码。
或者放 github ,实在上不了 github ,如一楼说的,至少给个 gitee 吧。用百度网盘是否有点... 哦。点开看了一下,原来百度支持预览 .py 文件啊 ,那没事了 |
6
equationl 2022-06-13 17:14:24 +08:00
好久没写 python 了,但是我没记错的话,python 推荐的都是小写+下划线的命名风格吧。
楼主这个各种风格的命名风格混搭有点难受的 |
7
cx524541577 OP @equationl 谢谢大佬指教,因为边百度边写的可能有些风格不太相同,感谢大佬学到的小写加下划线命名的规范
|
8
cx524541577 OP @ansonsiva 谢谢大佬的鼓励以及帮助
|
9
cx524541577 OP @learningman 谢谢大佬指正,因为不太懂英文和才开始学习,所以命名有些不规范,下次会注意的,谢谢大佬
|
10
cx524541577 OP @AS4694lAS4808 刚刚试了一下码云好像需要审核两天,所以没办法,谢谢大佬
|
11
equationl 2022-06-13 17:22:12 +08:00 1
|
12
cx524541577 OP @equationl 好的,感谢大佬我现在去下载
|
13
jesson 2022-06-13 17:26:01 +08:00 1
```python
import tkinter as tk #导入 GUI 模块 tk import tkinter.ttk as ttk #导入 GUI 模块 ttk import sys import webbrowser import time #导入时间模块 ZJM = tk.Tk() ZJM.geometry('800x600+500+200') ZJM.title('工程创建助手') def GYZS(): GYZSwindow = tk.Tk() GYZSwindow.geometry('300x150+750+400') GYZSwindow.resizable(False, False) GYZSwindow.title('关于软件') tk.Label(GYZSwindow, text='\n 工程创建助手 V1.0',font=('','16'),foreground='#C38B5A').pack() # 创建一个主框架 frm = tk.Frame(GYZSwindow) frm.pack() # 基于 frm 框架创建一个左边的子框架 frm_t = tk.Frame(frm) # 基于 frm 框架创建一个右边的子框架 frm_b = tk.Frame(frm) frm_t.pack(side='top') # pack 中的 side 方法是将 frm_l,frm_r 两个子框架按照左或右的方向添加到 frm 上 frm_b.pack(side='bottom') # 这里的三个 label 就是在我们创建的 frame 上定义的 label 部件,还是以容器理解,就是容器上贴了标签, # 来指明这个是什么,解释这个容器。 tk.Label(frm_t, text='\n 本软件旨在帮助后期人员\n 快速并标准化创建管理工程\n 使用教程请点击菜单栏帮助按钮\n',font=('','11')).pack() tk.Label(frm_b, text='by CuiQiangQiang',foreground='#DFE0DF').pack() GYZSwindow.mainloop() def quit(): sys.exit() def llq(): webbrowser.open("https://space.bilibili.com/120602530?spm_id_from=333.337.0.0") def sz(): SZwindow = tk.Tk() SZwindow.geometry('600x350+600+350') SZwindow.resizable(False, False) SZwindow.title('设置') #基于 SZwindow 框架创建三个上中下的子框架 frm_t = tk.Frame(SZwindow,height=30,width=500) frm_m = tk.Frame(SZwindow,height=160,width=500) frm_b = tk.Frame(SZwindow,height=60,width=500) frm_t.pack(side='top') frm_m.pack(side='top') frm_b.pack(side='bottom') #基于 frm_m 框架创建左中右三个子框架 frm_wenben = tk.Frame(frm_m,height=180,width=100) frm_wenbenkuang = tk.Frame(frm_m,height=180,width=270) frm_anniu = tk.Frame(frm_m,height=40,width=130) frm_br = tk.Frame(frm_b,height=60,width=100) frm_br2 = tk.Frame(frm_b,height=60,width=400) frm_wenben.pack(side='left') frm_wenbenkuang.pack(side='left') frm_anniu.pack(side='right') frm_br.pack(side='right') frm_br2.pack(side='left') #基于 frm_anniu 框架右下角创建两个按钮 tk.Button(frm_br, text='关闭', command=SZwindow.destroy,width=8,height=2).pack(side='right',padx=10) tk.Button(frm_br,text='保存',command=SZwindow.destroy,width=8,height=2).pack(side='right') # 基于 frm_anniu 框架右下角创建两个按钮 tk.Button(frm_anniu, text='选择文件夹', command=SZwindow.destroy, width=8, height=1).pack(pady=30) tk.Button(frm_anniu, text='选择文件夹', command=SZwindow.destroy, width=8, height=1).pack() #基于 frm_wenben 框架创建一个 label 部件 label_wenben = tk.Label(frm_wenben,text='工程目录位置:',font=('','12'),foreground='#000000').pack(pady=28) label1_wenben = tk.Label(frm_wenben, text='软件工程位置:', font=('', '12'), foreground='#000000').pack() #基于 frm_wenbenkuang 框架创建一个文本框部件 text_wenben = tk.Entry(frm_wenbenkuang,textvariable='').pack(pady=25) text_wenben = tk.Entry(frm_wenbenkuang,textvariable='').pack() print(SZwindow.winfo_screenwidth()) menubar = tk.Menu(ZJM) filemenu = tk.Menu(menubar, tearoff=0) menubar.add_cascade(label='工程创建助手', menu=filemenu),\ filemenu.add_command(label='关于工程创建助手', command=GYZS),\ filemenu.add_separator(),\ filemenu.add_command(label='设置',command=sz),\ filemenu.add_separator(),\ filemenu.add_command(label='帮助',command=llq),\ filemenu.add_separator(),\ filemenu.add_command(label='关闭',command=quit),\ ZJM.config(menu=menubar) #创建一个 label 部件,并设置其文本内容为当前时间,动态显示时间 def show_time(): time_now = time.strftime(' 当前日期与时间:'+'%Y 年%m 月%d 日 %H:%M:%S',time.localtime(time.time())) label_time.config(text=time_now) label_time.after(1000,show_time) #创建一个 label 部件,并设置其文本内容为当前时间,动态显示时间 label_time = tk.Label(ZJM, font=('',12),fg='#000000',bd=1, relief=tk.SUNKEN, anchor=tk.W) label_time.pack(side=tk.BOTTOM, fill=tk.X) show_time() ZJM.mainloop() ``` |
14
jesson 2022-06-13 17:27:30 +08:00
尴尬 这 Markdown 竟然不支持
|
15
sinnosong1 2022-06-13 17:30:10 +08:00 1
你这还不如看看 winform ,那个还支持拖拽,比你手动设置位置强太多了。
|
16
anonydmer 2022-06-13 17:33:08 +08:00 2
看了下楼主两年前的帖子,不是程序员,当时还在问 python 代码怎么写,现在已经可以自己写出来了,精神值得钦佩。
|
17
cx524541577 OP @sinnosong1 谢谢大佬,刚百度了一下( WinForm ,是·Net 开发平台中对 Windows Form 的一种称谓。),可是我用的是 MAC 啊,而且想后期一直学习 python 下去,因为 davinci resolve (剪辑软件)是支持 python 脚本的。这是我学习的动力
|
18
cx524541577 OP @jesson 不明觉厉
|
19
cx524541577 OP @anonydmer 感谢大佬回复,当时网上的人说 python 比较简单,比较像人类语言,但是问了一下,看不太懂,所以就没学,这次学习的动力是,使用了剪辑软件内别人开发的脚本,比手动操作省太多时间了,于是这次就想先下手试试看!
|
20
xujiang 2022-06-13 17:59:57 +08:00
加油
|
21
lopda 2022-06-13 18:06:52 +08:00
加油~
|
22
herich 2022-06-13 18:10:32 +08:00 11
吓我一跳,还以为是我的代码被贴上来了
|
23
sivacohan 2022-06-13 18:15:46 +08:00 6
挺好的。
最为初学者来说已经很厉害了。 如果要提建议的话,那建议你看看 python docstring ,然后给每个函数都增加注释。注释的内容是“这个函数实现什么功能”,不要写“这个函数是怎么实现的”。 另外一个建议是,增加一个 main 函数,把后面那段没有缩进的代码放到 main 函数去。 最下面判断 if __name__ == '__main__': main() 这样写的好处是,如果这些代码想要被其他代码 import ,那这个代码就不会在 import 的时候被执行。用起来比较方便。 |
24
zhujq 2022-06-13 18:20:03 +08:00
666 ,楼主厉害
|
25
Nich0la5 2022-06-13 18:38:33 +08:00
可以去学习一下 pep8 规范
|
26
goodryb 2022-06-13 19:04:38 +08:00
能跑起来,并且达到你预期的要求,就很不错了。
|
27
zhengsidao 2022-06-13 20:55:48 +08:00
OP 多大啦,挺有意思的
|
28
0x2CA 2022-06-13 21:24:48 +08:00
挺好的,我记得我第一写,最复杂的程序是一个 2048 小游戏
|
29
cx524541577 OP @xujiang 谢谢大佬鼓励
|
30
cx524541577 OP @lopda 谢谢大佬鼓励
|
31
cx524541577 OP @herich 哈哈哈哈,大佬过于谦虚啦!
|
32
cx524541577 OP @sivacohan 谢谢大佬鼓励,就是大佬我有一个疑问,还望大佬解答,main 函数是一个盒子是吗?那什么时候需要这个盒子去装东西呢,还有函数到底是什么意思,对他的理解,我有些懵懵懂懂,感谢大佬
|
33
cx524541577 OP @zhujq 谢谢大佬鼓励
|
34
cx524541577 OP @Nich0la5 谢谢大佬赐教,已经记到备忘录上啦!
|
35
cx524541577 OP @goodryb 谢谢大佬鼓励
|
36
reallittoma 2022-06-13 21:40:47 +08:00
@equationl #5 百度网盘居然能预览代码,真是万万没想到
|
37
cx524541577 OP @zhengsidao 感谢大佬回复,98 年的,没上过大学,无论录音,还是拍摄剪辑,还是现在,刚刚看到门槛的编程,都是自学的,还好互联网知识丰富,还有些热心的大佬,对我的帮助都不小。
|
38
cx524541577 OP @0x2CA 谢谢大佬鼓励
|
39
cx524541577 OP @reallittoma 哈哈哈哈,代码库界的搅屎棍
|
40
akaHenry 2022-06-14 03:22:27 +08:00
@cx524541577
自学能力不错. 值得鼓励. 编程入门从 Python 开始, 是非常合适的. 先从 GUI 摸索, 也是对的. 反馈及时. 1. 建议先掌握 Python 语法和 PEP8 等语言规范. 2. 注册个 github, 掌握 git 基本使用(不复杂). 用网盘管理代码, 无法跟踪版本修改记录. 3. 也可以学一点 Flutter, 建议从 Flutter Web 开始. 比 JS+HTML 学习, 理解会更快. Flutter 也是 GUI 编程范畴, 这样你学起来, 不会痛苦. 4. 非专业自学的, 建议都从 GUI 编程 or Web 入门. Flutter 非常合适. 语法也很简单. https://github.com/hhstore/blog/labels/Python https://github.com/hhstore/blog/labels/Flutter 可以看我的博客, 关于 Python 和 Flutter 的专题. 加油. |
41
woctordho 2022-06-14 03:35:24 +08:00 via Android
你应该已经知道怎么装 webbrowser 之类的包了吧,然后可以了解一下 black ( https://github.com/psf/black ),它可以自动帮你整理代码的格式,比如哪里加个空格会比较好看
还有 flake8 ( https://github.com/PyCQA/flake8 ),它可以帮你检查代码里写得不好的地方 |
42
learningman 2022-06-14 08:10:46 +08:00 via Android
@woctordho webbrowser 是个内置的包
|
43
sivacohan 2022-06-14 09:29:23 +08:00
@cx524541577
“main 函数” 也是一个 “函数” 和你自己写的 “llq 函数” 没有任何区别。 main 函数是一个约定俗成的东西,一般需要启动运行的程序,都是以 main 函数作为入口。 |
44
zhangzEric 2022-06-14 09:36:20 +08:00
OP 加油!大家都是从新手慢慢摸爬滚打过来的,持续学习,会越来越好的👍
|
45
AS4694lAS4808 2022-06-14 10:37:40 +08:00
@cx524541577 不好意思,确实没点开并且低估了百度云,没想到居然支持 py 预览。主要是楼上说的命名问题吧,实验性的项目只要能跑起来并且大概完成了预期的需求就可以了,加油!
|
46
xrr2016 2022-06-14 11:35:31 +08:00
赞一个
|
47
ffxrqyzby 2022-06-14 13:29:41 +08:00
先把 git 搞会吧
|
48
rev1si0n 2022-06-14 16:42:44 +08:00
不得不说,看起来挺舒服的
|
49
cx524541577 OP @orzglory 谢谢大佬,这就去关注一波
|
50
cx524541577 OP @woctordho 感谢大佬指点迷津
|
51
cx524541577 OP @sivacohan 谢谢大佬,学到了,函数是指一个独立的可被执行的小串代码,万分感谢大佬指点!!!!谢谢
|
52
cx524541577 OP |
53
cx524541577 OP @AS4694lAS4808 哈哈哈哈,没关系的大佬,没啥不好义思的,指出问题也是对我的帮助,万分感谢
|
54
cx524541577 OP @ffxrqyzby 感谢大佬指点
|
55
cx524541577 OP @rev1si0n 感谢大佬回复鼓励
|
56
Louis423Lee 2022-06-15 09:17:51 +08:00
佩服 OP 的自学能力!点赞
|
57
jiangzhizhou 2022-06-15 10:19:47 +08:00
|
58
jiangzhizhou 2022-06-15 10:21:27 +08:00
保持一个项目里面一致就行了。用哪个不重要
|
59
x1x1 2022-06-15 18:29:40 +08:00
可以再考虑增加一些异常处理
|