python写文件

Python文件的常见标头格式是什么?

孤街醉人 提交于 2020-02-26 17:42:57
在有关Python编码准则的文档中,我遇到了以下Python源文件的头格式: #!/usr/bin/env python """Foobar.py: Description of what foobar does.""" __author__ = "Barack Obama" __copyright__ = "Copyright 2009, Planet Earth" 这是Python世界中标头的标准格式吗? 我还可以在标题中添加哪些其他字段/信息? Python专家分享了有关好的Python源标头的指南:-) #1楼 Foobar 模块的所有元数据。 第一个是模块的 docstring ,已经在 Peter的答案中进行 了解释。 如何组织模块(源文件)? (存档) 每个文件的第一行应该是 #!/usr/bin/env python 。 这样就可以将文件作为脚本运行,例如在CGI上下文中隐式调用解释器。 接下来应该是带有说明的文档字符串。 如果描述很长,则第一行应该是一个简短的摘要,该摘要应具有其自身的意义,并以换行符分隔其余部分。 所有代码,包括导入语句,都应遵循文档字符串。 否则,解释器将无法识别该文档字符串,并且您将无法在交互式会话中(即通过 obj.__doc__ )或使用自动化工具生成文档时访问该文档字符串。 首先导入内置模块,然后导入第三方模块

关于python的log日志如何去写

我的未来我决定 提交于 2020-02-24 21:21:39
18.日志(模块 logging) 基本应用 日志处理本质:Logger/FileHandler/Formatter 推荐处理日志方式 import logging ​ file_handler = logging.FileHandler(filename='x1.log', mode='a', encoding='utf-8',) logging.basicConfig( format='%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s', datefmt='%Y-%m-%d %H:%M:%S %p', handlers=[file_handler,], level=logging.ERROR                                 level 默认是ERROR 可以指定level 日志只写比 ERROR更高等级的 【 info < error < warning <.....】 ) ​ logging.error('你好') 推荐处理日志方式 + 日志分割 import time import logging from logging import handlers # file_handler = logging.FileHandler(filename='x1.log',

python调用自己写的py文件

别等时光非礼了梦想. 提交于 2020-02-24 13:51:08
文章转载于: https://www.cnblogs.com/AmyHu/p/10654500.html 仅用于学习 python调用另一个.py文件中的类和函数 同一文件夹下的调用 1.调用函数 A.py文件如下: def add(x,y): print('和为:%d'%(x+y)) 在B.py文件中调用A.py的add函数如下: import A A.add(1,2) 或 from A import add add(1,2) 2.调用类 A.py文件如下: class A: def __init__(self,xx,yy): self.x=xx self.y=yy def add(self): print("x和y的和为:%d"%(self.x+self.y)) 在B.py文件中调用A.py的add函数如下: from A import A a=A(2,3) a.add() 或 import A a=A.A(2,3) a.add() 在不同文件夹下调用 A.py文件的文件路径为:C:\AmyPython\Test1 B.py中调用A.py文件: import sys sys.path.append(r'C:\AmyPython\Test1') #python import模块时, 是在sys.path里按顺序查找的。sys.path是一个列表,里面以字符串的形式存储了许多路径

Python面试题之Python面试题汇总

自闭症网瘾萝莉.ら 提交于 2020-02-24 09:00:44
在这篇文章中: Python基础篇 1:为什么学习Python 2:通过什么途径学习Python 3:谈谈对Python和其他语言的区别 Python的优势: 4:简述解释型和编译型编程语言 5:Python的解释器种类以及相关特点? 6:位和字节的关系 7:b、B、KB、MB、GB的关系 8:PE8规范 9:通过代码实现如下转换(进制之间转换) 10:请编写一个函数实现将IP地址转换成一个整数 11、python递归的最大层数?998 12:求结果(and or or) 运算符 13 :ascii、unicode、utf-8、gbk 区别 14:字节码和机器码的区别 15:三元运算写法和应用场景? 16:Python3和Python2的区别? 17:用一行代码实现数值交换 18:Python3和Python2中int和long区别 19:xrange和range的区别 20:文件操作时:xreadlines和readlines的区别? 21: 列列举布尔值为False的常见值? 22. 字符串、列表、元组、字典每个常用的5个方法? 23、 lambda表达式格式以及应用场景? 24. pass的作用 25. *arg和**kwarg作用 26. is和==的区别 27:谈谈Python的深浅拷贝?以及实现方法和应用场景。 28. Python垃圾回收机制? 29.

文件处理

纵然是瞬间 提交于 2020-02-15 05:42:25
目录 一、字符编码 1.1计算机基础   1.2文本编译器存取文件的原理   1.3Python解释器执行py文件的原理   1.4 Python解释器与文本编译的异同   1.5 字符编码介绍     1.5.1 什么是字符编码     1.5.2 涉及到字符编码的两个场景     1.5.3 字符编码发展史与分类     1.5.4内存为什么不用UTF-8呢?     1.5.5 字符编码之文本编译器操作     1.5.6 乱码分析   1.6总结 二、Python2和3字符编码的区别   2、1 字符编码应用之Python   2、1、1 执行Python程序的三个阶段   2、2 Python2与Python3字符串类型的区别   2、2、1 Python2 三、 基本的文件操作   3、1 什么是文件?   3、2 为什么要有文件?   3、3 如何用文件?   3、4 总结 四、绝对路径和相对路径   4、1 绝对路径   4、2 相对路径 五、文件的三种打开方式   5、1 文件打开模式之r模式   5、2 文件打开模式之w模式   5、3 文件打开模式之a模式   5、4 文件打开读取二进 六、with管理文件操作上下文 七、文件的高级应用 八、文件修改的两种方式   8、1 方式一   8、2 方式二 一、字符编码 1.1计算机基础 CPU:控制程序的运行

python笔记16

﹥>﹥吖頭↗ 提交于 2020-02-11 23:43:38
1.今日内容 模块基础知识 time/datetime json/picle shutil logging 其他 2.内容回顾和补充 2.1模块(类库) 内置 第三方 自定义 面试题: 列举常用内置模块:json / time / os/ sys 2.2 定义模块 定义模块时可以把一个py文件或一个文件夹(包)当作一个模块,以方便于以后其他py文件的调用 。 对于包(文件夹)的定义 : py2:文件见中必须有 _ init _.py 。手工创建此文件即可。 在pycharm中手工创建python package时候,默认自动会在这个文件中创建--init--.py文件。 py3:不需要 _ init _.py . 推荐大家以后写代码时,都要加上此文件。 2.3 模块的调用 2.3.1 示例一 # lizhongwei.py #!/usr/bin/env python # -*- coding:utf-8 -*- def show(): print('我司里种种') def func(): pass print(456) # 导入模块,加载此模块中所有的值到内存。所以此时先打印出:456。后打印该代码块下面的123。 import lizhongwei print(123) # 调用模块中的函数 lizhongwei.func() # 导入模块 from lizhongwei

构建虚拟python编程环境

馋奶兔 提交于 2020-02-09 03:31:52
构建虚拟python编程环境 1.说明 基础环境: Win10系统 + Python3.6环境 + Visual Studio Code编辑器 编程环境: miniconda环境 + conemu仿真器 + jupyter解释器 为什么用Python虚拟环境 实际工作中,我们接触的 Python 版本和相关的 web 框架版本往往是不一样的,比如有的组合可能是 python2 + Django1.8,有的可能是 python3.6 + Django1.12,两个还好办,我在电脑上安装两个版本的 python 不就好了? 但是,如果有五六七八个项目,需要五六七八套 python 环境呢?这就轮到虚拟环境登场了。 2.基础安装 2.1操作系统 本文使用 windows 10、64位系统,文中使用的软件能支持多个系统,下载时可根据具体情况选择对应的软件包安装。 2.2Python3.6 2.2.1Python3.6简介 Python 3.6.5 is now the latest maintenance release of Python 3.6 and supersedes 3.6.2. Get 3.6.5 here. Python 3.6.2 is the second maintenance release of Python 3.6. The Python 3.6 series

用Python写的简单脚本更新本地hosts

亡梦爱人 提交于 2020-02-08 00:37:33
这两天Google墙得严重,于是就产生了做个一键更新hosts的脚本的想法。 由于正在学习Python,理所当然用Python来写这个脚本了。 接触比较多的就是urllib2这个库,习惯性的import进去了。还要import一个re的库,让Python支持正则表达式。关于正则表达式我研究不多,只会点简单的,如果想了解下正则表达式可以上这个网站http://deerchao.net/tutorials/regex/regex.htm。 Python比较简洁,这里就用到了个写入文件的语法。下面贴上代码。 # coding:utf-8 import re import urllib2 r=urllib2.urlopen('http://googless.sinaapp.com').read() link_list = re.findall('1\d+.\d+.\d+.\d+' ,r) newlist = [] def unique(oldlist): for x in oldlist: if x not in newlist: newlist.append(x) return newlist unique(link_list) f = open('/private/etc/hosts','w') for each_link in newlist: f.write(each_link+'

对Python新手编程过程中如何规避一些常见问题的建议

心不动则不痛 提交于 2020-02-07 17:42:17
这篇文章收集了我在Python新手开发者写的代码中所见到的不规范但偶尔又很微妙的问题。本文的目的是为了帮助那些新手开发者渡过写出丑陋的Python代码的阶段。为了照顾目标读者,本文做了一些简化(例如:在讨论迭代器的时候忽略了生成器和强大的迭代工具itertools)。 对于那些新手开发者,总有一些使用反模式的理由,我已经尝试在可能的地方给出了这些理由。但通常这些反模式会造成代码缺乏可读性、更容易出bug且不符合Python的代码风格。如果你想要寻找更多的相关介绍资料,我极力推荐The Python Tutorial或Dive into Python。 迭代 range的使用 Python编程新手喜欢使用range来实现简单的迭代,在迭代器的长度范围内来获取迭代器中的每一个元素: for i in range(len(alist)): print alist[i] 应该牢记:range并不是为了实现序列简单的迭代。相比那些用数字定义的for循环,虽然用range实现的for循环显得很自然,但是用在序列的迭代上却容易出bug,而且不如直接构造迭代器看上去清晰: for item in alist: print item range的滥用容易造成意外的大小差一(off-by-one)错误,这通常是由于编程新手忘记了range生成的对象包括range的第一个参数而不包括第二个

Python 开发工具链全解

我与影子孤独终老i 提交于 2020-02-06 16:33:28
可能刚开始学习Python时,有人跟你说可以将源文件所在的文件夹添加到 PYTHONPATH 环境变量中,然后可以从其他位置导入此代码。在大多数情况下,这个人常常忘记补充这是一个非常糟糕的主意。有些人在互联网上发现了这一点,其他人却要看自己付出代价后才意识到。还有太多人(特别是非程序员)真的相信除此外没有别的办法了。 这篇文章适用于所有类型的 Python 学习者,因为即使你知道存在替代方案,也难以掌握。 Python的工具链令人困惑,因为有许多软件是相互依赖的,并且它们的关注点也有很多重叠。很难理解它们在 Python 编程体系中的定位。 出于这个原因,我决定列出最重要的工具,它们的使用场景和原因,以及它们解决了什么问题。我将尝试用简单的词语解释你应该如何使用这些工具。如果我在本文中列出了某个工具,这意味着,作为一个Python程序员,你应该至少知道它的存在。我将仅列出可应用于任何项目或工作流的工具,每次启动新项目时都应考虑这些工具。这并不意味着您总是必须在每个项目中使用它们。在某些情况下,太多的工具很容易成为一种负担,并且难以维护。 Setuptools Setuptools是在Python中创建包的标准方法。它无处不在,有效并发挥了应有的作用。 用途:从源代码构建egg,zip或wheel文件,为项目定义元数据,以结构化和标准化的方式共享代码 场景