Ming--

  • 2024-07-11
  • 回复了主题帖: 共读颁奖:《趣味微项目,轻松学Python》

  • 2024-06-25
  • 回复了主题帖: 新手上路:探秘我的首次测评之旅III

    13620203064 发表于 2024-6-25 10:37 学python,有前途。。。 爱python,好好用。。

  • 回复了主题帖: 新手上路:探秘我的首次测评之旅III

    wangerxian 发表于 2024-6-24 17:27 哈哈,把Python都用在了这个地方,不错!!

  • 回复了主题帖: 新手上路:探秘我的首次测评之旅III

    秦天qintian0303 发表于 2024-6-25 08:50 能用到实际就是好的,学的目的就是用  

  • 2024-06-24
  • 发表了主题帖: 新手上路:探秘我的首次测评之旅III

    本帖最后由 Ming-- 于 2024-6-24 15:49 编辑    大家好,我又回来了。我学了一段时间参加的《趣味微项目,轻松学Python》,今天勉强能写个python小工具(非常简陋),大神可能5分钟就写完了,我花了整整一天时间。 ps:工作中定期要去特定的网站下载ETC发票,网站根据车牌号下载发票,但公司归档需要按收票公司分类,发票数量比较多,如果每个文件都点开看就太费时间了。所以就用仅有的一点点知识,写了一个pdf发票重命名程序。下面分享一下代码,请大神多多指教: ```python import pdfplumber import os def get_first_five_lines(file_path):     with pdfplumber.open(file_path) as pdf:         for page in pdf.pages:             text = page.extract_text().replace(' ', '\n').split('\n')  # 提取到的列表,根据下标自定义取值即可             invoice = text[1].replace('发票号码:', '')  # 发票号码             name = text[5].replace('名称:', '')   # 名称             money = text[43].replace('(小写)', '')    # 金额             f_name = f'{name}-{invoice}-{money}'             return f_name def batch_rename(directory):     for filename in os.listdir(directory):         if filename.endswith(".pdf"):             filepath = os.path.join(directory, filename)             new_name = get_first_five_lines(filepath) + ".pdf"             new_filepath = os.path.join(directory, new_name)             counter = 1             while os.path.exists(new_filepath):                 new_name = f"{get_first_five_lines(filepath)}_{counter}.pdf"                 new_filepath = os.path.join(directory, new_name)                 counter += 1             os.rename(filepath, new_filepath)             print(f"Renamed '{filename}' to '{new_name}'") # 指定需要批量重命名的目录 directory_path = input(r'请输入文件夹路径') batch_rename(directory_path) ``` :Onion-109:  编辑页面有缩进,显示没有缩进,不知道为啥! 各位大神,正确做法是不是用这种下标的方式处理发票的,如果不是帮忙指引一下,谢谢

  • 2024-05-30
  • 回复了主题帖: 新手上路:探秘我的首次测评之旅II

    lugl4313820 发表于 2024-5-30 18:00 楼主大佬,你最好给自己定个小项目,这样学习起来有目的,不是单纯属的看书。 嗯嗯,感觉学的东西还不够支撑,我加油哈

  • 回复了主题帖: 新手上路:探秘我的首次测评之旅II

    wangerxian 发表于 2024-5-30 15:27 Python好像代码不分平台,通用的。 嗯,python是不分的,书里面有些是linux的代码

  • 2024-05-29
  • 发表了主题帖: 新手上路:探秘我的首次测评之旅II

    学完前面的数据类型啦,终于要进入主题了,翻开就发现第五章看的有点懵,因为基础不好,看不太懂。先按自己的方法来的,开篇讲到了os模块那就先去看一下官方文档:[https://docs.python.org/zh-cn/3/library/os.html](https://docs.python.org/zh-cn/3/library/os.html),我的简单理解就是可以操作文件、目录、路径、进程等。除了看官方文档,也可以用help()方法查看帮助。 **os模块方法汇总:** ``` ['DirEntry', 'EX_OK', 'F_OK', 'GenericAlias', 'Mapping', 'MutableMapping', 'O_APPEND', 'O_BINARY', 'O_CREAT', 'O_EXCL', 'O_NOINHERIT', 'O_RANDOM', 'O_RDONLY', 'O_RDWR', 'O_SEQUENTIAL', 'O_SHORT_LIVED', 'O_TEMPORARY', 'O_TEXT', 'O_TRUNC', 'O_WRONLY', 'P_DETACH', 'P_NOWAIT', 'P_NOWAITO', 'P_OVERLAY', 'P_WAIT', 'PathLike', 'R_OK', 'SEEK_CUR', 'SEEK_END', 'SEEK_SET', 'TMP_MAX', 'W_OK', 'X_OK', '_AddedDllDirectory', '_Environ', 'all', 'builtins', 'doc', 'file', 'loader', 'name', 'package', 'spec', '_check_methods', '_execvpe', '_exists', '_exit', '_fspath', '_get_exports_list', '_wrap_close', 'abc', 'abort', 'access', 'add_dll_directory', 'altsep', 'chdir', 'chmod', 'close', 'closerange', 'cpu_count', 'curdir', 'defpath', 'device_encoding', 'devnull', 'dup', 'dup2', 'environ', 'error', 'execl', 'execle', 'execlp', 'execlpe', 'execv', 'execve', 'execvp', 'execvpe', 'extsep', 'fdopen', 'fsdecode', 'fsencode', 'fspath', 'fstat', 'fsync', 'ftruncate', 'get_blocking', 'get_exec_path', 'get_handle_inheritable', 'get_inheritable', 'get_terminal_size', 'getcwd', 'getcwdb', 'getenv', 'getlogin', 'getpid', 'getppid', 'isatty', 'kill', 'linesep', 'link', 'listdir', 'listdrives', 'listmounts', 'listvolumes', 'lseek', 'lstat', 'makedirs', 'mkdir', 'name', 'open', 'pardir', 'path', 'pathsep', 'pipe', 'popen', 'putenv', 'read', 'readlink', 'remove', 'removedirs', 'rename', 'renames', 'replace', 'rmdir', 'scandir', 'sep', 'set_blocking', 'set_handle_inheritable', 'set_inheritable', 'spawnl', 'spawnle', 'spawnv', 'spawnve', 'st', 'startfile', 'stat', 'stat_result', 'statvfs_result', 'strerror', 'supports_bytes_environ', 'supports_dir_fd', 'supports_effective_ids', 'supports_fd', 'supports_follow_symlinks', 'symlink', 'sys', 'system', 'terminal_size', 'times', 'times_result', 'truncate', 'umask', 'uname_result', 'unlink', 'unsetenv', 'urandom', 'utime', 'waitpid', 'waitstatus_to_exitcode', 'walk', 'write'] ``` 常用的应该就是:.open() 、.read() 、.write() 一下子记不下那么多,先粗略的看个大概能干什么,后期要用再来查吧。 1 2 3 开始咯,开始咯,书中将一个案例怎么数数,作者用的应该是MAC系统,跟我系统不一样,$开头的步骤要自己琢磨一下怎么用Windows来执行,不过问题不大,精华就是:str.split()方法分割单词,他这里用的是空格做分隔符,分割出来一个列表后,用len() 来数。 ``` str = 'name september python' # 随便写的单词 str_list = str.split() # split方法分割 print(len(str_list)) 数有多少个单词 ``` 后面讲了一个格式化简而与之就是直接用: 就好了。后面几章粗略看了一下,都是有关str、list、map方法的案例,还是老办法,直接help(),下面建议先看一下方法帮助,有个初步的了解,再进行案例实践: **str模块方法汇总:** ``` ['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'removeprefix', 'removesuffix', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill'] ``` **list模块方法汇总:** ``` ['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getstate__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'] ``` **map模块方法汇总:** ``` ['__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__lt__', '__ne__', '__new__', '__next__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__'] ``` 先看到这里吧,越看越后面跳看的内容越多,小白学习大忌,容我下去缓缓,消化消化。总结一下:难进行的一个原因:偷懒没下载课件,里面的案例素材没有。所以跟着书本学习,还是得下载里面的课件,千万别学我偷懒不下载课件,没有课件素材感觉没法跟案例走。

  • 2024-05-17
  • 回复了主题帖: 新手上路:探秘我的首次测评之旅

    lugl4313820 发表于 2024-5-16 07:40 ,总体感受:建议还是去看教学视频,视频更加通俗易懂,然后再看书补充一下教学视频中没有的 另本人也是新 ... 嗯嗯。好的

  • 2024-05-15
  • 发表了主题帖: 新手上路:探秘我的首次测评之旅

     每个人都拥有着独特的潜能和能力,而测评则是一种有力的工具,帮助我们认清自我,挖掘潜能。曾经,我只是听闻过测评,却从未亲身体验其神奇之处。直到有一天,在EEworld看到了一次关于Python书籍的测评活动,便想着是否也可以报名参加,以检验自己的学习能力(本人刚学一段时间,以小白视角测评)。怀着试一试的心态,我提交了报名申请,没想到不久之后,工作人员就与我取得了联系,告知我入选了。只过了两三天,我就收到了工作人员寄来的书籍。 PS:书印刷质量很好,超预期了。 **↓↓进入正题↓↓** #### 一、入门:引言与安装指南  我是个刚学python的小白,以小白视角来说这部分写的不太详细,当然如果是针对有一定基础的读者,这部分可以简化一点。但对于我这种基础入门的读者来说,写的过于简略。如果您也是跟作者差不多是0基础的初学者,我斗胆在这里补一下坑,有不足之处还望大家多多谅解。 ##### - 安装Python https://www.python.org/downloads/   # 官网下载python3最新版本,安装的时候记得勾选一下配置环境变量。   打开命令提示符(Win+R)输入:python -V  查看是否安装成功,如果安装成功会输出python的版本。(注意V大写) 安装Python模块,在命令提示符中输入: python -m pip install black flake8 ipython mypy pylint pytest yapf - 获取代码     书上直接使用了git clone,但怎么安装git没写,这里补充一下。 https://git-scm.com/download/win     #官网直接下载,安装我是一路next,如有其他需求,可以去网上看一下教程 然后在命令提示符(Win+R)中输入: git clone https://github.com/kyclark/tiny_python_projects  d:/py_demo  克隆项目(这里后面指定了一个存储路径,可以根据需求修改) 关于IDE工具,我觉得对于初学者直接使用pycharm 社区版就好了,等以后进阶了再使用专业版 本书1-4章 讲的都是数据类型和方法,我觉得讲的有点不够深入简出,看起来有点懵,当然有些可能是翻译的原因,有基础的同学可以粗略看一下内容,然后直接看每章里面的小结。 个人觉得还是看帮助文档清晰一点 https://docs.python.org/zh-cn/3/  下面也整理了一下脑图和我原来的笔记,希望对学习本章内容的同学有参考意义: 字符串的常用方法: ```python # ------通过下标取值------ # 语法:字符串[下标] # ------index 方法------ # 语法:字符串.index("test") # ------replace 字符串替换方法(本身不变)------ # 语法:字符串.replace(字符串1, 字符串2) 将字符串1替换成字符串2 # ------split 字符串分割方法(本身不变,输出一个新列表对象)------ # 语法:字符串.split(分隔符字符串) # ------strip 方法------ # 语法1(去除前后空格):字符串.strip() # 语法2(去除前后指定字符串)字符串.strip(字符串) --按单个字符去除 # ------统计某个字符串的出现次数------ # 语法: # ------统计字符串的长度------ # 语法:len() # ------序列切片------ # 语法:序列[起始下标:结束下标:步长] # 起始下标:可以留白,留白从头开始  结束下标(不含)表示从何处结束,可以留空,视作截取到结尾 # 步长 为负数表示,反向取(起始下标和结束下标也要反向标记) ``` 列表的常用方法: ```python # ------查找某元素的下标------ # 语法:列表.index(元素) demo.index("test") # ------修改特定下标索引的值------ # 语法:列表[下标]=值 demo[1] = "update" # ------在特定下标位置插入新元素------ # 语法:列表.insert(下标,元素) demo.insert(0,"ins") # ------在列表的尾部追加单个新元素------ # 语法:列表.append("元素") # ------在列表的尾部追加多个新元素------ # 语法:列表.extend(["元素","元素"]) # ------删除指定下标的元素------ # 语法1:del 列表[下标] # 语法2:列表.pop(下标)    “可以用变量接受删除的元素” # ------删除某个元素在列表钟的第一个匹配项------ # 语法:列表.remove(元素) # ------清空整个列表------ # 语法:列表.clear # ------统计某个元素在列表中的数量------ # 语法:列表.count(元素) # ------统计列表内,有多少个元素------ # 语法:len(列表) ``` 集合的常用方法: ```python # ------空集合------ # 语法: set() # ------添加元素------ # 语法:集合.add(元素) # ------移除元素------ # 语法:集合.remove(元素) # ------随机取出一个元素------ # 语法:集合.pop(元素) # -----清空集合------ # 语法:集合.clear() # -----取2个集合的差集------ # 语法:集合1.defference(集合2) # -----消除2个集合的差集------ # 语法:集合1.defference_update(集合2) # -----合并2个集合------ # 语法:集合1.union(集合2) ``` 字典的常用方法: ```python # -----定义空字典------ # 语法1:={} # 语法2:dict() # -----新增/更新字典元素------ # 语法:字典[key]=[value] # -----删除字典元素------ # 语法:字典.pop(key) # -----获取全部key------ # 语法:字典.keys() ``` 看完4章,总体感受:建议还是去看教学视频,视频更加通俗易懂,然后再看书补充一下教学视频中没有的 另本人也是新手小白,有错漏之处敬请海涵!

  • 2024-05-10
  • 回复了主题帖: 共读入围:《趣味微项目,轻松学Python》

    个人信息无误,确认可以完成评测计划

  • 回复了主题帖: 共读入围:《趣味微项目,轻松学Python》

    收到,可以完成任务,请发货

最近访客

< 1/1 >

统计信息

已有14人来访过

  • 芯积分:66
  • 好友:--
  • 主题:3
  • 回复:9

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言