Linux的yum依赖自带Python,为防止错误,此处更新其实就是再安装一个Python!
查看默认Python版本
python -V
1、安装gcc,用于编译Python源码
yum install gcc
2、下载源码包,https://www.python.org/ftp/python/
3、解压并进入源码文件
4、编译安装
./configure
make all
make install
5、查看版本
/usr/local/bin/python2.7 -V
6、修改默认Python版本
mv /usr/bin/python /usr/bin/python3
ln -s /usr/local/bin/python3 /usr/bin/python
7、防止yum执行异常,修改yum使用的Python版本
vi /usr/bin/yum
将头部 #!/usr/bin/python 修改为 #!/usr/bin/python2.7
CMD窗口要同时运行3.6或者2.7版本,需要到安装目录把其中一个python.exe改名,例如改成python2.exe,在命令行窗口执行python2就能打开python2.7
python 2.7 里面用input输入字符串默认认为输入的是变量,然后会去找这个变量,找不到然后会报错,输入数字python认为输入的就是数字会存下来,所以不会报错。
import getpass
[root@localhost ~]# cat test_getpass.py
import getpass
username = input("username:")
password = getpass.getpass("password:")
print(username,password)
[root@localhost ~]# python3 test_getpass.py
username:jam
password:
jam hello
[root@localhost ~]#
C:\Users\Jam>python2
Python 2.7.11 (v2.7.11:6d1b6a68f775, Dec 5 2015, 20:40:30) [MSC v.1500 64 bit (
AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import getpass
>>> username = input("username:")
username:jam
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1, in <module>
NameError: name ‘jam‘ is not defined
>>> username = raw_input("username:")
username:jam
>>> password = getpass.getpass("password:")
password:
>>> print(username,password)
(‘jam‘, ‘hello123‘)
>>>
C:\Users\Jam>python
Python 3.5.1 (v3.5.1:37a07cee5969, Dec 6 2015, 01:54:25) [MSC v.1900 64 bit (AM
D64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> username = input("username:")
username:jam
>>> password = getpass.getpass("password:")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name ‘getpass‘ is not defined
>>> import getpass
>>> username = input("username:")
username:jam
>>> password = getpass.getpass("password:")
password:
>>> print(username,password)
jam hello123
>>>
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#pycharm里面无法使用getpass方法,在linux和windows的python上面可以正常运行
import getpass
username = input("username:")
passwrod = getpass.getpass("password:")
print(username,passwrod)
import os
[root@localhost ~]# python3
Python 3.5.1 (default, May 12 2016, 00:36:44)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.system("df -TH")
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda2 xfs 19G 1.9G 17G 11% /
devtmpfs devtmpfs 503M 0 503M 0% /dev
tmpfs tmpfs 513M 0 513M 0% /dev/shm
tmpfs tmpfs 513M 7.0M 506M 2% /run
tmpfs tmpfs 513M 0 513M 0% /sys/fs/cgroup
/dev/sda1 xfs 521M 124M 398M 24% /boot
tmpfs tmpfs 103M 0 103M 0% /run/user/0
0
条件判断if else语法规则
如果 if 语句判断为 True,就会执行它下面的子代码(下层缩进代码 )。、
否则的话,就执行 el se 下面的子代码。
当然后面的 el se 也不是必须要加的,如果不加 el se 的话,那 if 条件判断为 Fa l se 的话,那它就什么也不做。
and与or语法规则
看这里写的if user_input == valid_user and passwd == valid_passwd:�的意思就是让if 条件必须同时满足2个条件了,当然你还可以
再后面再写1个and ,2个and…… n个and,那if条件就必须要满足n个条件才会执行它下面的语法了,但是正常人都不写�太多个and,因为可读性太差。所以一般一个if判断同时满足1至3个条件就可以了;跟and对应的语法是or,“或”的意思,and是“与”的意思,就是满足1个或另1个或另1个条件。。。
条件判断elif语法规则
elif的意思就是如果不满足第一个 if 条件,那程序就会继续往下走,再判断是否满足 elif 条件。
如果不满足,就再继续走(这里你可以加多个elif判断),只要遇到有满足的 elif 就停下来执行它后面的代码,然后结束。
如果最终没有碰到满足的条件,就最终执行 else 语法。
elif可以写多行