Python&&脚本&&常用模板

常用模板

模板初始化

'''声明使用python语言解释当前脚本。目的就是为了让shell知道您运行了一个python脚本嘛。'''
#!/usr/bin/env python
'''声明当前脚本以utf-8的编码方式在本地存储。一,目的就是为了节约本地硬盘存储空间嘛。二,当你的脚本中包含中文时,对于python2.7来说,默认脚本存储使用ASSIC的编码方式存储,ASSIC不识别中文,保存就会出错啦。'''
#_*_ coding:utf-8 _*_
'''created by : dfq
    function : 
'''

文本处理模板

获取元素出现次数及位置索引

以数组为例
在这里插入图片描述

对特定元素内容进行替换

常用脚本命令总结

如何对文件的数据进行处理

如何读文件内容,方法二?

#!/usr/bin/env  python
#_*_ coding:utf-8 _*_
import json

filename = 'numbers.json'
with open(filename) as file_object:
    numbers = json.load(file_object)
    
print(numbers)

如何读文件内容?

#!/usr/bin/env python
#_*_ coding:utf-8 _*_
filename = 'pi_digits.txt' 
with open(filename) as file_object: 
    for line in file_object: 
        print(line.rstrip())

关键字with 在不再需要访问文件后将其关闭。在这个程序中,注意到我们调用了open() ,但没有调用close() ;你也可以调用open() 和close() 来打开和关闭文件,但
这样做时,如果程序存在bug,导致close() 语句未执行,文件将不会关闭。这看似微不足道,但未妥善地关闭文件可能会导致数据丢失或受损。如果在程序中过早地调
用close() ,你会发现需要使用文件时它已关闭 (无法访问),这会导致更多的错误。并非在任何情况下都能轻松确定关闭文件的恰当时机,但通过使用前面所示的结构,可
让Python去确定:你只管打开文件,并在需要时使用它,Python自会在合适的时候自动将其关闭。

使用readlines按行读取文件内容

#!/usr/bin/env python
#_*_ coding:utf-8 _*_
filename = 'pi_digits.txt'
with open(filename) as file_object
lines = file_object.readlines()
for line in lines:
    print(line.rstrip())

如何写入文件,方法二?

#!/usr/bin/env  python
#_*_ coding:utf-8 _*_
import json

numbers = [1,3,5,7,9]
filename = 'numbers.json'

with open(filename,'w') as file_object:
    json.dump(numbers,file_object)

如何写入文件?

#!/usr/bin/env  python
#_*_ coding:utf-8 _*_
filename = 'porgraming.txt'

with open(filename,'w') as file_object:
    file_object.write("technology change world")

以写入模式打开文件,如果指定的文件已存在,python会在返回文件对象前清空该文件

如何以追加方式写入文件?

#!/usr/bin/env  python
#_*_ conding:utf-8 _*_
filename = 'programing.txt'

with open(filename,'a') as file_object:
    file_object.write("machine is unknow.\n")
    file_object.write("ai is unknow.\n")

以附加模式打开文件时,Python不会在返回文件对象前清空文件,而是将写入的行都添加到文件末尾,如果指定文件不存在,则创建一个空文件。

如何将缓存区的数据强制写到文件中?

f.flush()

如何tab补全命令?

'''导入tab模块实现tab命令补全功能'''
import  tab

字符串都有哪些常用的方法呢?

在这里插入图片描述

如何以交互式的方式获取用户信息?

#!/usr/bin/env python
#_*_ coding:utf-8 _*_

'''使用函数raw_input()。该函数接收用户提示信息的字符串并向用户展示,告诉用户你需要输入什么。同时获取用户的输入,此处将得到的用户输入信息保存到变量name中。'''
name = raw_input('Please input you name:')

如何以格式化的方式输出内容?

$ vim 200111_print.py
#!/usr/bin/env python
#_*_ coding:utf-8 _*_

name = input("Please input you name :")
age = input("Please input you age :")
salary = input("Please input you salary :")

print(
'''
------------------------------------
Personal infomation of %s:
    Name : %s
    Age : %s
    Salary : %s
------------------------------------
''' % (name,name,age,salary))
#执行测试
$ python 200111_print.py
Please input you name :dfq
Please input you age :25
Please input you salary :7000

------------------------------------
Personal infomation of dfq:
    Name : dfq
    Age : 25
    Salary : 7000
------------------------------------

%s : 代表字符串
%d : 代表数字
%f : 代表浮点数
input在python3中默认采集到的数据类型都是str类型,无论用户输入的是数字还是浮点数。

如何print具备颜色的信息?

print('\033[31;1m type(age) \033[0m')

其中“\033[31;1m \033[0m”实现的颜色输出是利用Linux的tty输出实现的。

如何执行shell命令?

方法一:

'''导入常用的与操作系统交互的模块os'''
import  os

'''执行系统shell命令。返回执行命令得到的结果以及执行命令的状态(是否执行成功)。状态值为0代表命令执行成功;状态值非0代表命令执行失败或异常。'''
os.system('df')

方法二:

'''导入常用的与操作系统交互的模块os'''
import  os

'''执行系统shell命令并保存到临时文件'''
os.popen('dir')
'''读取临时文件的内容到变量a'''
a = os.popen('dir').read()
'''查看变量a的内容'''
print(a)
'''(0, '驱动器 C 中的卷是 我很重要
卷的序列号是 7464-B46A
C:\Users\Administrator 的目录

2020/01/10/周五  21:01    <DIR>          .
2020/01/10/周五  21:01    <DIR>          ..
0 个文件         97,644 字节
34 个目录 17,350,942,720 可用字节')
'''

方法三:

'''导入执行命令专用模块subprocess'''
import subprocess
#获取shell命令dir的结果并保存到变量b
b = subprocess.getstatusoutput('dir')
''' 查看变量b的内容'''
print(b)
'''(0, '驱动器 C 中的卷是 我很重要
卷的序列号是 7464-B46A
C:\Users\Administrator 的目录

2020/01/10/周五  21:01    <DIR>          .
2020/01/10/周五  21:01    <DIR>          ..
0 个文件         97,644 字节
34 个目录 17,350,942,720 可用字节')
'''

方法四(python3不支持此方法):

'''导入执行命令专用模块commands'''
import commands
#获取shell命令dir的结果并保存到变量b
c = commands.getstatusoutput('dir')
''' 查看变量c的内容'''
print(c)
'''(0, '驱动器 C 中的卷是 我很重要
卷的序列号是 7464-B46A
C:\Users\Administrator 的目录

2020/01/10/周五  21:01    <DIR>          .
2020/01/10/周五  21:01    <DIR>          ..
0 个文件         97,644 字节
34 个目录 17,350,942,720 可用字节')
'''

os模块都有啥功能?

目录遍历

>>>dirA = os.walk(/tmp’)    #对tmp目录进行(爬)遍历
>>>dirA.next()
(‘tmp’,xxxx)
>>>dirA.next()
(‘tmp/1,xxxxxx)
>>>dirA.next()
(‘tmp/2,xxxxxx)

sys模块都有啥功能?

获取执行脚本时传递的参数

$vi test1.py
    import  sys
    print  sys.argv    #调用sys模块的argv方法打印脚本后面紧跟的参数
    print  sys.argv[2]  #取2位置的参数
#执行脚本并附加参数
$python  test1.py   arg1 2 3 4 5    #此时输出脚本test1.py后面紧跟的全部参数
#输出如下
[‘test1.py’,’arg1’,2,3,4,5,]     
2

collections模块都有啥功能?

OrderedDict类

OrderedDict类可实现对字典对象中元素的排序。即元素存储时按顺序存入,读取时按顺序读出。

如何实现字符编码转换?

>>> name = '段富强'
>>> type(name)
<class 'str'>
#以utf-8方式编码
>>> name_en = name.encode("utf-8")
>>> name_en
b'\xe6\xae\xb5\xe5\xaf\x8c\xe5\xbc\xba'
>>> type(name_en)
<class 'bytes'>
#以utf-8方式解码
>>> name_de = name_en.decode("utf-8")
>>> name_de
>>> type(name_de)
<class 'str'>
'段富强'
#以Unicode方式编码
>>> name_un = name.encode('unicode_escape')
>>> name_un
b'\\u6bb5\\u5bcc\\u5f3a'
>>> type(name_un)
<class 'bytes'>
>>> print("\u6bb5\u5bcc\u5f3a")
段富强

还是人家写的好,有兴趣的参考下这个链接吧:
https://www.cnblogs.com/yangmingxianshen/p/7990102.html

https://www.cnblogs.com/Xuuuuuu/articles/9670451.html

发布了73 篇原创文章 · 获赞 5 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/dfq737211338/article/details/103917222