Python程序员为什么一定要掌握Linux?
不少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?的更多相关文章
- 介绍Python程序员常用的IDE和其它开发工具
概述 “工欲善其事,必先利其器”,如果说编程是程序员的手艺,那么IDE就是程序员的吃饭家伙了. IDE 的全称是Integration Development Environment(集成开发环境), ...
- Python程序员常用的IDE和其它开发工具
概述 “工欲善其事,必先利其器”,如果说编程是程序员的手艺,那么IDE就是程序员的吃饭家伙了. IDE的全称是Integration Development Environment(集成开发环境),一 ...
- 月薪3万的python程序员都看了这本书
想必大家都看过吧 Python编程从入门到实践 全书共有20章,书中的简介如下: 本书旨在让你尽快学会 Python ,以便能够编写能正确运行的程序 —— 游戏.数据可视化和 Web 应用程序,同时掌 ...
- Python 程序员都会喜欢的 6 个库
在编程时,小挫折可能与大难题一样令人痛苦.没人希望在费劲心思之后,只是做到弹出消息窗口或是快速写入数据库.因此,程序员都会喜欢那些能够快速处理这些问题,同时长远来看也很健壮的解决方案. 下面这6个Py ...
- Python程序员的进化史
各种程序员所写的阶乘算法代码 # -*- coding: utf-8 -*- #新手程序员(递归) def factorial(x): if x == 0: return 1 else: return ...
- J2EE程序员应该要掌握的linux知识
J2EE程序员应该要掌握的linux知识 大型J2EE应用都在建构在linux环境下的.开发环境下我们可以通过samba映射成本地的网络驱动器,直接在windows环境下进行编程调试.但是最后的发布还 ...
- Python程序员去上海工作有多难?
我只能说,也要看你掌握的技术可以打多少分.技术熟练度跟找工作的难易程度是成正比的:你掌握得越好,找工作就越容易(难度系数越低):反之越高. Python程序员这种技术类的工作岗位,当然还是要有扎实的技 ...
- 做为一个Python程序员的基本素养
今天在学习的过程中,明白了一些不是Python标准所必须要做的事情,二是做为一个合格的Python程序员应该所遵从的一些规范 分享给大家,有不足的地方请大家指正,此下是我学习的一点心得: 1.在给变量 ...
- 5款Python程序员高频使用开发工具推荐
很多Python学习者想必都会有如下感悟:最开始学习Python的时候,因为没有去探索好用的工具,吃了很多苦头.后来工作中深刻体会到,合理使用开发的工具的便利和高效.今天,我就把Python程序员使用 ...
随机推荐
- 六 java和Tomcat
Java企业级应用TOMCAT实战 http://blog.oldboyedu.com/java-tomcat/ 老男孩笔记 常规应用架构模型 Tomcat对静态请求效率低,可以做动静分离,动态的给T ...
- 软件工程---作业(one)
(1) 回顾你过去将近3年的学习经历 1.1 有序列表项一当初你报考的时候,是真正喜欢计算机这个专业吗? 自己填写来着,对这个专业也不是特别了解:导致后续学习很差 1.2 有序列表项二你现在后悔选择了 ...
- idea cpu 卡慢 占用100%
1.修改idea配置文件D:\ideaIU-2017.2\bin\idea.exe.vmoptions 如: -server -Xms800m -Xmx800m -XX:MaxPermSize=512 ...
- PHP实现域名授权的两种方法-转
01. 在线校验域名授权的方法: 客户端代码: PHP <?php //获取不带端口号的域名前缀 $servername = trim($_SERVER['SERVER_NAME'] ...
- 用Python建立连接直接读取与更改Rockwell Control Logix Controller的tag值
请参考如下连接的开源项目 源代码在本地测试好用. 注: 这里所用的Python 版本是 2.7.11 https://github.com/dmroeder/pylogix
- kafka单机搭建,并测试api
所用环境: kafka_2.-.gz centos 6.9 nat动态ip 准备工作: ().将防火墙关闭 service iptables stop 临时关闭 chkconfig iptables ...
- Ubuntu 下使用 Nginx 部署 .NET Core 2.0 网站
前言 本文介绍如何在 Ubuntu 16.04 服务器上安装 .NET Core 2.0 SDK.创建项目与发布,并使用 Nginx 部署 .NET Core 2.0 Web 项目. 安装 .NET ...
- 小游戏canvas直接操作ImgaeData时的几个优化点
前不久在处理一个canvas绘图需求时,经过不断测试优化,将重绘一帧的时间由400ms降低至20ms左右,基本满足了要求.特此记录一下优化方向. 设备环境:Android,360*720,pixelR ...
- Activity 切换效果
Activity 切换效果 设置Activity 的 启动/退出时动画效果. 1.设置动画 通过方法 overridePendingTransition(enterAnim:Int,exitAnim: ...
- 2019-3-22KeyDown,KeyPress 和 KeyUp 事件
研究了一下KeyDown,KeyPress 和 KeyUp 的学问.让我们带着如下问题来说明: 1.这三个事件的顺序是怎么样的? 2.KeyDown 触发后,KeyUp是不是一定触发? 3.三个事件的 ...