不少Python新手经常问到学Python到底需不需要学习Linux? Python不是支持Windows和Linux操作系统吗?能在Windows下开发为什么还要学习Linux?

问这样的问题的朋友,可能还没有真正入行Python开发或者没有真正参与公司的一些项目部署,上线过程,对于上面问题,首选答案是肯定的,Python开发可以在Windows下开发,但是Linux学习仍然是必须的。

                                                                                          

一般在生产环境中,服务器基本都是Linux的,比如centos,红帽,ubuntu等linux系统,为什么服务器用linxu居多?比如其中一点肯定是安全啊,我们听过Windows经常死机,被勒索病毒入侵要支付比特币,但是这些在Linux下却不经常发生,其他也有很多原因可以网上查找,所以生产环境的Python脚本都是在linux系统上部署的,但是开发的话,考虑到操作的方便,Windows或者Mac下不仅仅有图形界面,而且性能也会好些,操作起来比较容易,快捷,毕竟使用过乌班图的都知道,装虚拟机还是对电脑性能有一定要求的,电脑配置跟不上的话,用乌班图也会很卡顿,而一般服务器级别的系统都是字符型界面,就是咱们传说中的黑屏,如果你想在linux服务器上开发也是可以的,只不过比较麻烦,对代码水平和操作熟练度要求很高。

                                                                                                           

线上部署经常会遇到部署到服务器上后调试代码的问题,一般在调试过程中,开发人员会经常性的来回切换目录,查找文件,用VI来修改代码,这些常规的操作,都是一名python开发工程师的必备技能,vi运用也是各种Linux命令,这样会方便直接,不用将代码传到线下,修改完再传到服务器,那些搞黑客都是直接在Linux下命令来操作的,因为他们要攻击修改对方服务器代码数据,必须要懂这Linux下的所有操作,而且对于黑客来说,用命令比图形界面更高效

                                                                                                   

Linux相对于开发者而言更加方便,Linux系统你是拥有着最高权限的,里面的各种配置,工具都任由你来选择,但是Windows下,你能对系统做的修改就相对麻烦些。使用Linux,各种配置文件的修改也就是几个命令的事,工具的安装也就几个命令,Windows下面如果修改配置,你可能需要到处去寻找这个文件,这也是图形界面的缺点。

总结一下,Python语言也可以在Windows下学习和开发,但是在Linux系统下更加方便些。比如,如果是想用Python开发网站(现今流行的、成熟的Python Web框架)那就需要使用到Linux平台了,毕竟搭建这样的网站Linux平台更常用;第二如果想使用Python爬虫爬取数据,在Linux系统上也要更方便一些;还有就是想学习网络安全渗透测试,在Linux上编写Python自动化测试脚本也很有必要。

Python程序员为什么一定要掌握Linux?的更多相关文章

  1. 介绍Python程序员常用的IDE和其它开发工具

    概述 “工欲善其事,必先利其器”,如果说编程是程序员的手艺,那么IDE就是程序员的吃饭家伙了. IDE 的全称是Integration Development Environment(集成开发环境), ...

  2. Python程序员常用的IDE和其它开发工具

    概述 “工欲善其事,必先利其器”,如果说编程是程序员的手艺,那么IDE就是程序员的吃饭家伙了. IDE的全称是Integration Development Environment(集成开发环境),一 ...

  3. 月薪3万的python程序员都看了这本书

    想必大家都看过吧 Python编程从入门到实践 全书共有20章,书中的简介如下: 本书旨在让你尽快学会 Python ,以便能够编写能正确运行的程序 —— 游戏.数据可视化和 Web 应用程序,同时掌 ...

  4. Python 程序员都会喜欢的 6 个库

    在编程时,小挫折可能与大难题一样令人痛苦.没人希望在费劲心思之后,只是做到弹出消息窗口或是快速写入数据库.因此,程序员都会喜欢那些能够快速处理这些问题,同时长远来看也很健壮的解决方案. 下面这6个Py ...

  5. Python程序员的进化史

    各种程序员所写的阶乘算法代码 # -*- coding: utf-8 -*- #新手程序员(递归) def factorial(x): if x == 0: return 1 else: return ...

  6. J2EE程序员应该要掌握的linux知识

    J2EE程序员应该要掌握的linux知识 大型J2EE应用都在建构在linux环境下的.开发环境下我们可以通过samba映射成本地的网络驱动器,直接在windows环境下进行编程调试.但是最后的发布还 ...

  7. Python程序员去上海工作有多难?

    我只能说,也要看你掌握的技术可以打多少分.技术熟练度跟找工作的难易程度是成正比的:你掌握得越好,找工作就越容易(难度系数越低):反之越高. Python程序员这种技术类的工作岗位,当然还是要有扎实的技 ...

  8. 做为一个Python程序员的基本素养

    今天在学习的过程中,明白了一些不是Python标准所必须要做的事情,二是做为一个合格的Python程序员应该所遵从的一些规范 分享给大家,有不足的地方请大家指正,此下是我学习的一点心得: 1.在给变量 ...

  9. 5款Python程序员高频使用开发工具推荐

    很多Python学习者想必都会有如下感悟:最开始学习Python的时候,因为没有去探索好用的工具,吃了很多苦头.后来工作中深刻体会到,合理使用开发的工具的便利和高效.今天,我就把Python程序员使用 ...

随机推荐

  1. 六 java和Tomcat

    Java企业级应用TOMCAT实战 http://blog.oldboyedu.com/java-tomcat/ 老男孩笔记 常规应用架构模型 Tomcat对静态请求效率低,可以做动静分离,动态的给T ...

  2. 软件工程---作业(one)

    (1) 回顾你过去将近3年的学习经历 1.1 有序列表项一当初你报考的时候,是真正喜欢计算机这个专业吗? 自己填写来着,对这个专业也不是特别了解:导致后续学习很差 1.2 有序列表项二你现在后悔选择了 ...

  3. idea cpu 卡慢 占用100%

    1.修改idea配置文件D:\ideaIU-2017.2\bin\idea.exe.vmoptions 如: -server -Xms800m -Xmx800m -XX:MaxPermSize=512 ...

  4. PHP实现域名授权的两种方法-转

    01. 在线校验域名授权的方法: 客户端代码: PHP   <?php   //获取不带端口号的域名前缀   $servername = trim($_SERVER['SERVER_NAME'] ...

  5. 用Python建立连接直接读取与更改Rockwell Control Logix Controller的tag值

    请参考如下连接的开源项目 源代码在本地测试好用. 注: 这里所用的Python 版本是 2.7.11 https://github.com/dmroeder/pylogix

  6. kafka单机搭建,并测试api

    所用环境: kafka_2.-.gz centos 6.9 nat动态ip 准备工作: ().将防火墙关闭 service iptables stop 临时关闭 chkconfig iptables ...

  7. Ubuntu 下使用 Nginx 部署 .NET Core 2.0 网站

    前言 本文介绍如何在 Ubuntu 16.04 服务器上安装 .NET Core 2.0 SDK.创建项目与发布,并使用 Nginx 部署 .NET Core 2.0 Web 项目. 安装 .NET ...

  8. 小游戏canvas直接操作ImgaeData时的几个优化点

    前不久在处理一个canvas绘图需求时,经过不断测试优化,将重绘一帧的时间由400ms降低至20ms左右,基本满足了要求.特此记录一下优化方向. 设备环境:Android,360*720,pixelR ...

  9. Activity 切换效果

    Activity 切换效果 设置Activity 的 启动/退出时动画效果. 1.设置动画 通过方法 overridePendingTransition(enterAnim:Int,exitAnim: ...

  10. 2019-3-22KeyDown,KeyPress 和 KeyUp 事件

    研究了一下KeyDown,KeyPress 和 KeyUp 的学问.让我们带着如下问题来说明: 1.这三个事件的顺序是怎么样的? 2.KeyDown 触发后,KeyUp是不是一定触发? 3.三个事件的 ...