大佬们来围观一下小白第一次写的垃圾代码(真的第一次写,毫无基础,边写边百度), Python 向。

2022-06-13 16:56:00 +08:00
 cx524541577

大佬们好,简单的说明一下目的,在用户选择的目录下创建固定的文件夹,根据当前时间以及项目名称创建文件夹如: 20220613_V2EX 拍摄项目 camera 20220613-A7S3 20220613-RED V-RAPTOR audio vedio fx sound fx ....

当然现在是半成品,期待大佬们点评现在的代码,有什么不足,以及分享思路,万分感谢!!!

链接: https://pan.baidu.com/s/1WFj3hHCCeuCStXSb3aB5Tw 提取码: wh56

5994 次点击
所在节点    程序员
59 条回复
yfugibr
2022-06-13 16:58:41 +08:00
看得出来,居然把代码发百毒
AS4694lAS4808
2022-06-13 17:00:25 +08:00
至少来个码云吧
learningman
2022-06-13 17:05:30 +08:00
这 ZJM ,一点看的预言都没有
ansonsiva
2022-06-13 17:09:56 +08:00
百度云,Hummmmm......
好像看到了 10 年前的我

我来给你发吧
equationl
2022-06-13 17:10:20 +08:00
v2 支持 markdown ,可以直接贴代码。
或者放 github ,实在上不了 github ,如一楼说的,至少给个 gitee 吧。用百度网盘是否有点...

哦。点开看了一下,原来百度支持预览 .py 文件啊 ,那没事了
equationl
2022-06-13 17:14:24 +08:00
好久没写 python 了,但是我没记错的话,python 推荐的都是小写+下划线的命名风格吧。

楼主这个各种风格的命名风格混搭有点难受的
cx524541577
2022-06-13 17:18:03 +08:00
@equationl 谢谢大佬指教,因为边百度边写的可能有些风格不太相同,感谢大佬学到的小写加下划线命名的规范
cx524541577
2022-06-13 17:18:31 +08:00
@ansonsiva 谢谢大佬的鼓励以及帮助
cx524541577
2022-06-13 17:19:43 +08:00
@learningman 谢谢大佬指正,因为不太懂英文和才开始学习,所以命名有些不规范,下次会注意的,谢谢大佬
cx524541577
2022-06-13 17:20:30 +08:00
@AS4694lAS4808 刚刚试了一下码云好像需要审核两天,所以没办法,谢谢大佬
equationl
2022-06-13 17:22:12 +08:00
@cx524541577 推荐用 IDE 写代码,IDE 都会有提示。

比如 pycharm
cx524541577
2022-06-13 17:23:05 +08:00
@equationl 好的,感谢大佬我现在去下载
jesson
2022-06-13 17:26:01 +08:00
```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()

```
jesson
2022-06-13 17:27:30 +08:00
尴尬 这 Markdown 竟然不支持
sinnosong1
2022-06-13 17:30:10 +08:00
你这还不如看看 winform ,那个还支持拖拽,比你手动设置位置强太多了。
anonydmer
2022-06-13 17:33:08 +08:00
看了下楼主两年前的帖子,不是程序员,当时还在问 python 代码怎么写,现在已经可以自己写出来了,精神值得钦佩。
cx524541577
2022-06-13 17:36:41 +08:00
@sinnosong1 谢谢大佬,刚百度了一下( WinForm ,是·Net 开发平台中对 Windows Form 的一种称谓。),可是我用的是 MAC 啊,而且想后期一直学习 python 下去,因为 davinci resolve (剪辑软件)是支持 python 脚本的。这是我学习的动力
cx524541577
2022-06-13 17:37:15 +08:00
@jesson 不明觉厉
cx524541577
2022-06-13 17:40:52 +08:00
@anonydmer 感谢大佬回复,当时网上的人说 python 比较简单,比较像人类语言,但是问了一下,看不太懂,所以就没学,这次学习的动力是,使用了剪辑软件内别人开发的脚本,比手动操作省太多时间了,于是这次就想先下手试试看!
xujiang
2022-06-13 17:59:57 +08:00
加油

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/859333

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX