实战
asian3
这个作者很懒,什么都没留下…
展开
-
PYTHON程序获取当前目录和运行时的拖入文件
import sysprint(sys.argv)sys.argv[0]为当前程序路径 如['D:/ker/bianl.py']sys.argv[1]为拖入图标启动运行程序时,拖入的文件或目录。如双击启动则无此项,此时sys.argv长度为1。原创 2021-07-15 19:11:44 · 518 阅读 · 0 评论 -
TKINTER一些常用方法
def dragin(pwd): pass#创建主窗口类的方法class Window: def __init__(self, ): self.root = tk.Tk() self.root.geometry("500x150+400+300") self.root.title('信息管理') #窗口置顶的方法 self.root.wm_attributes('-topmost', 1) .原创 2021-07-13 17:23:14 · 362 阅读 · 0 评论 -
python多线程pyinstaller打包运行逻辑不对的解决办法
if __name__ == '__main__': multiprocessing.freeze_support() win = Window() win.root.mainloop()这里是官方github给出的解释:https://github.com/pyinstaller/pyinstaller/wiki/Recipe-Multiprocessing解决方案:在你的主程序前添加一行代码如果你的Pyinstaller版本低于3.3版本的话,还需要额外添加一.原创 2021-07-13 16:59:57 · 1696 阅读 · 0 评论 -
python全局变量和局部变量
bl="全局"def level1(): global bl print("1:"+bl) def level2(): bl= "level2" print("2:"+bl) def level3(): nonlocal bl print("3:"+bl) level3() level2()level1()结果:bianl.py1:全局2:leve.原创 2021-07-12 23:55:10 · 104 阅读 · 0 评论 -
Python参数传递的是对象引用
python不允许程序员选择采用传值还是传引用。Python参数传递采用的肯定是“传对象引用”的方式。实际上,这种方式相当于传值和传引用的一种综合。如果函数收到的是一个可变对象(比如字典或者列表)的引用,就能修改对象的原始值--相当于通过“传引用”来传递对象。如果函数收到的是一个不可变对象(比如数字、字符或者元组)的引用,就不能直接修改原始对象--相当于通过“传值'来传递对象。python一般内部赋值变量的话,都是传个引用变量,和C语言的传地址的概念差不多。可以用id()来查询内存地址原创 2021-07-12 19:57:56 · 226 阅读 · 0 评论 -
pycharm项目文件夹移动后pyinstaller运行失败的解决方案
打开虚拟环境下的目录venv/Scriptsactivate 和 activate.bat,分别是对应linux(或其他系统)和 windows 的虚拟环境激活文件。修改文件中的一个路径参数 即 VIRTUAL_ENV=等号后面的路径更改为当前虚拟环境Scripts的路径。修改完成后重启pycharm,等待后台工作完成。接着在pycharm自带的terminal终端输入下述命令:python -m pip install -U pyinstaller...原创 2021-07-11 15:33:12 · 821 阅读 · 0 评论 -
windnd读取中文目录出错解决和读取目录下所有指定后缀文件
def getf(pwd, files): # 读取目录下和子目录下指定后缀的所有文件 if os.path.isfile(pwd): print('f:'+pwd) if os.path.splitext(pwd)[1] in [".png" ,".tif",".bmp" ,".jpg"]: files.append(pwd) return else: fp = os.listdir(pwd) .原创 2021-07-09 23:32:36 · 345 阅读 · 0 评论