Python学习笔记(一)

    大家好,非诚欢迎来到我的博客空间,本人计算机小硕一枚,刚刚毕业,开始踏入工作岗位,之前有学习过Java Web开发的相关知识,工作中需要用到Python,一边学习Python中,一边进行博客的编写,这是我第一次写博客,也希望自己以后有时间能够继续下去,将自己所学到的东西分享出去。

    如果你是网络编程者,系统/网络管理员,或者是一个Web应用的开发者,你需要对Python编程语言以及TCP/IP的网络概念有一个基本的熟悉。然而,如果你是一个初学,者,随着你对我的博客的持续的关注和学习,你将会对上述概念逐渐有深入的了解。

    我会首先通过一些简单的实例来介绍Python的核心网络库。Python的套接字(socket)模块既有基于类的又有基于实例使用的方法,两者的不懂在于基于类的方式不需要一个socket对象的实例。这是一种非常直观的方法。例如,为了能够打印你的机器的IP的地址,你不需要一个socket对象。你可以仅仅调用基于类的socket的方法。另一方面,如果你需要发送一些数据到服务应用,最直观的方式是你创造一个socket对象来执行具体的方法。在我博客中能展现的方法总结为一下几组。

    在刚开始的几个方案中,基于类的使用被用来提取一些关于主机,网络以及目标服务的有用的信息。

    其次,更多的方案用来展示使用基于实例的使用。一些共同的socket任务,包括操纵socket超时,缓存尺寸,块状态等。

最后,将基于类的以及基于实例的使用来构建一些客户端,可以用来执行一些实际的任务,例如将本机的时间与网络服务器的时间进行同步,或者写一个通用的客户,服务器脚本。

(-)打印机器名字和IPv4的地址

    有些时候,你需要快速发现一些关于你机器的信息,例如主机名,IP地址,网络接口的数量等,使用Python脚本是非常容易完成的。

    在你编码之前,需要安装一个Python在你的机器上。Python会预先安装在很多不同版本的Linux系统中。对于Windows操作系统,你能通过Python的官方网站  https://www.python.org/downloads/  下载二进制的包。

    当你安装好Python之后,在命令台输入如下的命令,将会得到如下结果,本人是在Linux centos系6统下进行的输入,系统自带Python编辑功能。

    我们可以看到下面的案例,虽然案例很短,你能够通过这种方式来与Python的编译器进行交互。我们首先需要通过下面的命令导入Python的socket包。

>>> import socket

    之后,我们从socket库中调用gethostname()方法,将结果存入变量中,如下所示。

>>> host_name = socket.gethostname()

>>>print "host name %s" %host_name


    当我在继续使用gethostbyname()方法时,出现了错误,如下:


    解决方法:该错误的原因是/etc/hostname文件写的hostname 没有写在/etc/hosts里, 加上就好了 。 比如添加 “127.0.0.1 host-192-168-14-112” 到hosts最后一行。之后从新将代码输入后结果:


    这个完整的过程包裹在一个独立的函数print_machine_info。这个函数使用了嵌入到这个socket类的方法。

    我们按照一般的惯例从Python的__mian__块调用我们的函数,在方法运行期间,Python会给一些内部变量分配一些值,例如__name__。在这种情况下,__name__指的是调用过程中的名字。当从命令行运行下面这个脚本的时候,它的名字将是__main__,但是当这个模块引入其它的脚本的时候名字将会不同。这意味着当一个模块从命令行被调用了,它将自动运行我们的print_machine_info函数,然而,当分别引入的时候,用户需要明确调用这个函数,下面是代码以及运行结果。

  

 在我的机器上运行结果:

  

    这个是在我机器上展示的结果,根据各个机器不同,运行结果会有所不同。




  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值