Python 编程基础知识与示例

2023-10-20

Python 是一种流行且功能强大的脚本语言,可以做任何事情;您可以执行网页抓取、网络工具、科学工具、Raspberry Pi 编程、Web 开发、视频游戏等等。通过Python编程,无论您使用什么平台,您甚至可以进行系统编程。

说到机器学习,有像 TensorFlow 这样的 Python 库,它为许多人工智能项目提供了支持。

你可以执行自然语言处理(NLP)使用 NLTK 等 Python 库。

我们将在这篇文章中讨论基本的 Python 编程,在以后的文章中将构建工具并查看实际的 Python 编程。

如果您发现这篇文章的内容有点棘手,请告诉我,所以我在接下来的文章中从零开始学习 Python 编程,因为我认为这是针对对 Python 知之甚少的初学者来说的。

 

目录 hide

 

操作字符串

Python 中的字符串是不可变的,因此无法更改。对字符串内容的任何更改都需要制作新副本。

在 Python 中处理字符串非常简单。

字符串连接


str = "welcome " + "to Python"
print (str)  

我们还可以像这样乘以一个字符串:

字符串乘法


str = "LikeGeeks" * 2
print (str)  

与非字符串连接

您可以通过使用 str() 函数将值转换为字符串来连接非字符串,如下所示:


str = "This is test number " + str(15)
print (str)  

搜索子字符串

您可以使用 find 方法搜索子字符串,如下所示:


str = "welcome to likegeeks website"
print(str.find("likegeeks"))  

find 方法打印 likegeeks 字符串第一次出现的位置。

如果没有找到,它将返回-1作为结果。

The find function starts from the first character. However, you can start from the nth character like this:


str = "welcome to likegeeks website"
print(str.find("likegeeks",12))  

Since we start from the 12th character, the word likegeeks doesn’t exist from that position, so it will return -1.

获取子串

这样我们就得到了要搜索的字符串的索引,现在我们要打印匹配的内容。

您可以按索引打印字符串,如下所示:


str = "first second third"
print(str[:2])
print(str[2:])
print(str[3:5])
print(str[-1])  

第一个打印行从第一个字符打印到第二个字符,第二个打印行从第二个字符打印到末尾。注意冒号的位置。计数从零开始。

如果使用负数,计数将向后开始,就像第四个打印行,它打印字符串中的最后一个字符。

替换字符串

您可以使用替换方法替换字符串,如下所示:


str = "This website is about programming"
str2 = str.replace("This", "That")
print(str2)  

如果出现多次并且只想替换第一个出现的情况,则可以指定:


str = "This website is about programming I like this website"
str2 = str.replace("website", "page",1)
print(str2)  

只是第一个词被替换了。

剥线

您可以使用 strip 方法从字符串中删除空格,如下所示:


str = "   This website is about programming    "
print(str.strip())  

您可以分别使用 rstrip() 或 lstrip() 方法仅从右侧或仅从左侧剥离。

更改字符大小写

如果您想比较字符或其他内容,您可以更改字符的大小写。


str="Welcome to likegeeks"
print(str.upper())
print(str.lower())  

将字符串转换为数字

我们有 str() 函数,它将值转换为字符串,但这并不是 Python 编程中唯一的转换函数。

您可以使用 int() 、 float() 、 long() 和其他转换函数。

int() 函数将输入转换为整数,而 float() 函数将输入转换为浮点数。


str="10"
str2="20"
print(str+str2)
print(int(str)+int(str2))  

第一个打印行只是连接两个数字而不求和,而第二个打印行将两个值相加并打印总数。

计算字符串

您可以使用 min()、max() 和 len() 函数来计算最小字符或最大字符值或字符总长度。


str="welcome to likegeeks website"
print(min(str))
print(max(str))
print(len(str))  

迭代字符串

您可以迭代字符串并单独操作每个字符,如下所示:


str="welcome to likegeeks website"
for i in range(len(str)):
    print(str[i])  

len() 函数计算对象的长度。

编码字符串

如果您使用 Python 3,它默认将所有字符串存储为 Unicode 字符串,但如果您使用 Python 2,您可能需要像这样对字符串进行编码:


str="welcome to likegeeks website"
str.encode('utf-8')  

 

操纵数字

你可以像这样在Python中定义数字:


a=15  

整数和浮点数的处理方式相同。

如果你有浮点数,你可以使用 int() 函数对其进行舍入,如下所示:


a=15.5
print(int(a))  

整数

您可以使用 round() 函数对数字进行舍入,如下所示:


a=15.5652645
print(round(a,2))  

只需指定需要舍入的数字数量即可。

用户定义的精度数字

您可能需要使用任意精度的浮点数。您可以使用十进制模块来处理用户定义精度的数字。

首先,像这样导入模块:


from decimal import *
a=Decimal(5.5)  

生成随机数

Python 中的 random 模块提供了生成随机数的函数。


import random
print(random.random())  

生成的数字介于 0.0 和 1.0 之间。

您可以根据您的选择生成一个随机数,如下所示:


import random
numbers=[1,2,3,4,5,6,7]

print(random.choices(numbers))  

 

操纵日期和时间

Python 编程语言提供了一个名为 datetime 的模块,可以帮助处理日期、时间。


import datetime
cur_date = datetime.datetime.now()
print(cur_date)
print(cur_date.year)
print(cur_date.day)
print(cur_date.weekday())
print(cur_date.month)
print(cur_date.time())  

您可以从日期中提取所需的值,如上面的示例。

您可以像这样获取两个时间或两个日期之间的差异:


import datetime
time1 = datetime.datetime.now()
time2 = datetime.datetime.now()
timediff = time2 - time1
print(timediff.microseconds())  

timediff 变量是 timedelta 类型的对象。但是,您可以像这样自己创建这种对象:


time1 = datetime.datetime.now()
time2 = datetime.timedelta(days=3)
time3=time1+time2
print(time3.date())  

设置日期和时间格式

strftime() 方法采用格式规范,并根据该格式设置日期或时间的格式。

下表指定了一些可以使用的格式选项:

%a Prints locale abbreviated name of the weekday.
%A Prints the weekday.
%w Prints the day of the week as a number.
%d Prints the day of the month as a zero-padded number.
%b Prints the month as a locale abbreviated name.
%B Prints the month as locale full name.
%m Prints the month as a zero-padded number.
%y Prints the year as a zero-padded two-digit number.
%Y Prints the year as a zero-padded four-digit number.
%H Prints the hour (24-hour clock) as a zero-padded number.
%I Prints the hour (12-hour clock) as a zero-padded number.
%p Prints AM or PM.
%M Prints the minute as a zero-padded number.
%S Prints the second as a zero-padded number.

import datetime
date1 = datetime.datetime.now()
print(date1.strftime('%d. %B %Y %I:%M%p'))  

从字符串创建日期

您可以使用 strptime() 函数从字符串创建日期,如下所示:

date1=datetime.datetime.strptime(“2015-11-21”,“%Y-%m-%d”)

另外,您可以像这样创建它:

date1= datetime.datetime(年=2015年,月=11,日=21)

 

处理文件系统

在 Python 编程中处理文件非常容易,不管你信不信,这是你可以用来处理文件的最简单的语言。你可以说 Python 是做很多事情最简单的语言。

复制文件

Shutil 模块包含复制文件的功能。


import shutil
copied_path = shutil.copy('my_file.txt', 'copied_file.txt')  

如果 my_file.txt 是符号链接,则上述代码将创建 Copy_file.txt 作为单独的文件。

您可以像这样创建符号链接的副本:


copied_path = shutil.copy('my_file.txt', 'copied_file.txt', follow_symlinks=False)  

移动文件

您可以将文件从一个位置移动到另一个位置,如下所示:


import shutil
shutil.move('file1.txt', 'file3.txt')  

您可以使用 os 模块中的 rename 函数重命名文件,如下所示:


import os
os.rename('file1.txt', 'file3.txt')  

读取和写入文本文件

您可以使用 open 函数打开文件,然后使用 read 或 write 方法读取和写入文件。


fd = open('file1.txt')
content = fd.read()
print(content)  

首先,我们使用 open 函数打开文件进行读取;然后,我们开始使用 read 函数读取文件内容。最后,我们将抓取到的内容放入变量content中。

您可以指定要为 read() 函数读取多少字节:


fd.read(20)  

如果文件不太大,您可以将整个内容读入列表中,然后迭代该列表以打印输出。


content = fd.readlines()

print(content[0])  

您可以通过指定打开函数的模式来写入文件,如下所示。您有两种写入模式:写入模式和追加模式。

这是写入模式,您将覆盖旧文件内容。


fd = open('file1.txt','w')

content = fd.write('YOUR CONTENT GOES HERE')  

这是追加模式:


fd = open('file1.txt','a')

content = fd.write('YOUR CONTENT GOES HERE')  

创建目录

您可以使用 os 模块中的 mkdir 函数创建一个新目录,如下所示:


import os
os.mkdir('./NewFolder)  

如果目录存在,此代码将引发错误。不用担心;我们将在以后的文章中讨论异常处理,以便您可以避免此类错误。

获取访问、修改和创建时间

您可以使用 getmtime()、getatime() 和 getctime() 分别获取修改时间、访问时间和创建时间。

返回的时间格式为Unix时间戳;我们可以将其转换为人类可读的格式,如下所示:


import os
import datetime
tim=os.path.getctime('./file1.txt')
print(datetime.datetime.fromtimestamp(tim))  

迭代文件

您可以使用 os 模块中的 listdir() 函数来获取文件:


import os
files= os.listdir('.')
print(files)  

另外,您可以使用 glob 模块执行相同的操作:


import glob
files=glob.glob('*')
print(files)  

您可以编写任何文件扩展名,例如 *.doc 以仅获取所有 Word 文档。

序列化 Python 对象

序列化对象意味着将 Python 对象转换为字节流以供以后重用。

您可以使用 pickle 模块来做到这一点:


import pickle
fd = open('myfile.pk ', 'wb')
pickle.dump(mydata,fd)  

您可以使用 load() 函数反序列化这些数据,如下所示:


import pickle
fd = open('myfile.pk ', 'rb')
mydata = pickle.load(fd)  

压缩文件

Python 标准库使您能够处理不同类型的压缩文件,例如 tar、zip、gzip、bzip2。

要使用 zip 文件,您可以使用 zipfile 模块:


import zipfile
my_zip = zipfile.ZipFile('zipped_file.zip', mode='r')
print(file.namelist())  

您可以从您的文件创建一个 zip 文件,如下所示:


import zipfile
file=zipfile.ZipFile('files.zip','w')
file.write('file1.txt')
file.close()  

您可以使用 extractall() 方法提取 zip 文件,如下所示:


import zipfile
file=zipfile.ZipFile('files.zip','r')
file.extractall()
file.close()  

此外,您还可以使用附加模式将文件附加到现有 zip 文件,如下所示:


import zipfile
file=zipfile.ZipFile('files.zip','a')
file.write('file2.txt')
file.close()  

您可以使用 gzip 模块或 bz2 模块压缩 gz 或 bz 文件。


import gzip
import bz2
gz_file=gzip.GzipFile('files.gz','r')
bz_file=bz2.BZ2File('fiels.bz2','r')  

然后你就可以用同样的方式阅读和写作。

您可以使用以下命令处理 rar 文件unrar包裹。首先,安装包:


pip install unrar  

然后你就可以用同样的方法来使用它。


import unrar.rarfile
m=unrar.rarfile.RarFile('file.rar')
m.namelist()
m.extractall()  

解析 CSV 文件

您可以使用 pandas 来解析 CSV 文件。该软件包可以解析 CSV 和 Excel 文件,并轻松从中提取数据。

首先,安装包:


pip install pandas  

然后你可以在你的模块中使用它,如下所示:


import pandas
data=pandas.read_csv('file.csv)  

默认情况下,Pandas 将第一列视为每行的标签。如果不是第一列,您可以传递index_col参数来指定列索引。

如果文档中没有行标签,则应使用参数index_col=False。

要写入 CSV 文件,您可以使用 to_csv() 方法。


data.to_csv('file.csv)  

解析 Excel 文件

您可以使用 pandas 模块中的 read_excel() 方法来解析 Excel 文件。


data = pd.read_excel('file.xls', sheetname='Sheet1')  

如果你有多张纸,你可以这样加载:


data = pd.ExcelFile('file.xls')  

您可以像这样写入 Excel 文件:


data.to_excel('file.xls', sheet='Sheet1')  

 

网络和连接

Python语言有一个socket类,它提供了一种底层访问网络的方式;它必须支持许多网络协议。


import socket
host = '192.168.1.5'
port = 5050
m_sock = socket.create_connection ((host, port))  

这段代码我们在端口 5050 上建立了与 IP 192.168.1.5 上主机的连接。

之后就可以发送和接收数据了。


m_sock.sendall(b'Hello World')  

请注意,我在字符串之前使用了 b 字符,因为数据需要是字节字符串。

如果您有更大的消息,您应该像这样迭代您的消息:


msg = b'Longer Message Goes Here'
mesglen = len(msg)
total = 0
while total < msglen:
    sent = m_sock.send(msg[total:])
    total = total + sent  

为了接收数据,您需要告诉方法一次读入多少字节。


data_in = m_sock.recv(2000)  

这是可行的,因为您确信消息的长度小于 2000 字节。

如果消息很大,您必须一遍又一遍地循环,直到收集到所有单独的块。


buffer = bytearray(b' ' * 2000)
m_sock.recv_into(buffer)  

这里我们定义一个空的缓冲区;然后,我们开始将消息写入缓冲区。

从 POP 邮件服务器读取电子邮件

我们已经讨论过Linux邮件服务器以及关于它的一切,现在,我们如何使用 Python 编程来访问它?

poplib 模块使您能够与 POP 服务器进行通信。


import getpass,poplib
pop_serv = poplib.POP3('192.168.1.5')
pop_serv.user("myuser")
pop_serv.pass_(getpass.getpass())  

getpass 模块安全地向最终用户询问密码。

如果您需要安全连接,请改用 POP3_SSL 类。

要获取消息列表和消息计数,您可以这样做:


msg_list = pop_serv.list()              # to list the messages
msg_count = pop_serv.msg_count()        # to get message count  

完成 POP 服务器的使用后,请不要忘记关闭所有打开的连接。


pop_serv.quit()  

从 IMAP 邮件服务器读取电子邮件

您可以与IMAP 电子邮件服务器使用 imaplib 模块。


import imaplib, getpass
my_imap = imaplib.IMAP4('imap.server.com')
my_imap.login("myuser", getpass.getpass())  

如果您在 IMAP 服务器上使用 SSL,则应使用 IMAP4_SSL 类。

要获取电子邮件列表,您需要搜索:


data = my_imap.search(None, 'ALL')  

然后,您可以迭代数据变量中返回的电子邮件索引并获取消息。


msg = my_imap.fetch(email_id, '(RFC822)')  

最后,不要忘记关闭连接:


my_imap.close()
my_imap.logout()  

发送电子邮件

您可以使用 smtplib 使用 SMTP 协议发送电子邮件。


import smtplib, getpass
my_smtp = smtplib.SMTP(smtp.server.com')
my_smtp.login("myuser", getpass.getpass())  

如果您在您的计算机上使用 SSLSMTP服务器,您应该改用 SMTP_SSL 类。

连接打开后,您可以像这样发送消息:


from_addr = 'me@example.com'
to_addr = 'you@example.com'
msg = 'From: me@example.com\r\nTo: you@example.com\r\n\r\nHello, this is a test message'

my_smtp.sendmail(from_addr, to_addr, msg)  

网络爬行

要与 Web 服务器通信,您需要使用 urllib.request 子模块。


import urllib.request
my_web = urllib.request.urlopen('https://www.google.com')
print(my_web.read())  

发布到网页

如果您需要提交 Web 表单,您知道应该向网页发送 POST 请求,这就是我们要做的。


import urllib.request
my_data = b'Your Data Goes Here'
my_req = urllib.request.Request('http://localhost', data=my_data,method='POST')
my_frm = urllib.request.urlopen(my_req)
print(my_frm.status)  

请注意,我们可以使用 mechanize 或 urllib2,有很多方法可以实现这一点。

创建一个迷你服务器

套接字类支持侦听传入连接。


import socket
host = ''
port = 3535
my_server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
my_server.bind((host, port))
my_server.listen(1)  

现在您可以像这样接受传入连接:


addr = my_server.accept()
print('Connected ... ', addr)
data = conn.recv(1024)  

另外,完成后不要忘记关闭连接。


conn.close()  

 

Python 编程中的线程

线程是并行运行多个进程,它非常有用,特别是当您需要在不同线程中运行进程并保持当前线程处于独立状态以避免冻结时。

Python 语言包含一个名为 threading 的模块,其中包含 Thread 类。


import threading
def print_message():
    print('The message got printed from a different thread')
my_thread = threading.Thread(target=print_message)
my_thread.start()  

如果函数需要很长时间才能完成,您可以使用 is_alive() 方法检查它是否仍在运行。

有时您的线程需要安全地访问全局资源。您可以使用锁来做到这一点。


import threading
num = 1
my_lock = threading.Lock()
def my_func():
    global num, my_lock
    my_lock.acquire()
    sum = num + 1
    print(sum)
    my_lock.release()
my_thread = threading.Thread(target=my_func)
my_thread.start()  

 

使用树莓派

借助树莓派,您可以创建自己的技术。这是一款价格低廉的单板计算机。

您可以使用Python模块RPi.GPIO与 Raspberry Pi 配合使用。

首先,在 Raspberry PI 中安装该软件包,如下所示:


$ sudo apt-get install python-dev python-rpi.gpio  

现在您可以在脚本中使用它。您可以在 Raspberry Pi 的 GPIO 总线上写入输出:


import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(1, GPIO.OUT, initial=GPIO.LOW)
GPIO.output(1, GPIO.HIGH)  

从 Raspberry Pi 的 GPIO 读取

您可以使用 RPi.GPIO Python 模块从 GPIO 读取数据,如下所示:


import RPi.GPIO
RPi.GPIO.setup(1, GPIO.IN)
if RPi.GPIO.input(1):
    print('Input was HIGH')
else:
    print('Input was LOW')  

我们已经介绍了 Python 的一小部分;有很多内容需要介绍。

我向您保证,我将尽最大努力在即将发布的 Python 帖子中介绍 Python 编程语言基础知识,然后我们就可以开始构建出色的工具。

我希望你喜欢这篇文章。继续回来。

谢谢。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 编程基础知识与示例 的相关文章

  • Python包不安装子模块

    我在 dev 分支中创建了一个具有以下结构的包 在验证包安装正确之前不会合并到 main mypackage init py setup py requirements txt module py subpackage one init p
  • 如何使用 pandas 选择所有非 NaN 列和非 NaN 最后一列?

    如果标题有点令人困惑 请原谅我 假设我有test h5 下面是使用读取该文件的结果df read hdf test h5 testdata 0 1 2 3 4 5 6 0 123 444 111 321 NaN NaN NaN 1 12 2
  • 帮助需要在可选条件下编写正则表达式[关闭]

    我有一个日志文件包含如下内容 log Using data from yyyy mm dd 2011 8 3 0 files queued for scanning Warning E test H ndler pdf File not F
  • 静态文件配置不正确

    我已经在 Heroku 上部署了简单的博客应用程序 它运行在Django 1 8 4 我在静态文件方面遇到了一些问题 当打开我的应用程序时 我看到Application Error页面 所以我尝试调试它并发现当我提交到 Heroku 时它无
  • 如何在 Django 管理中以表格格式显示添加模型?

    我刚刚开始使用 Django 编写我的第一个应用程序 为我的家庭设计的家务图表管理器 在本教程中 它向您展示了如何添加相关对象 http docs djangoproject com en dev intro tutorial02 cust
  • 使用opencv计算深度视差图

    我无法使用 opencv 从视差图计算深度 我知道两个立体图像中的距离是用以下公式计算的z baseline focal disparity p 但我不知道如何使用地图计算视差 我使用的代码如下 为我提供了两个图像的视差图 import n
  • Selenium:等到 WebElement 中的文本发生变化

    我在用着selenium使用Python 2 7 从网页上的搜索框检索内容 搜索框动态检索结果并在框本身中显示结果 from selenium import webdriver from selenium webdriver common
  • 当 DetailView 遇到时更新模型字段。 [姜戈]

    我有一个类似的 DetailViewviews py views py class CustomView DetailView context object name content model models AppModel templa
  • 如何使用python读取最后一行的特定位置

    我有一个太大的 txt 文件 并且有几行类似的行 如下所示 字1 字2 字3 字4 553 75 我对位置 4 值 感兴趣 即最后一行 553 75 我的文件文本 word1 word2 word3 word4 553 20 word1 w
  • 在 MATLAB 中创建共享库

    一位研究人员在 MATLAB 中创建了一个小型仿真 我们希望其他人也能使用它 我的计划是进行模拟 清理一些东西并将其变成一组函数 然后我打算将其编译成C库并使用SWIG https en wikipedia org wiki SWIG创建一
  • Floyd-Warshall 算法:获取最短路径

    假设一个图由一个表示n x n维数邻接矩阵 我知道如何获得所有对的最短路径矩阵 但我想知道有没有办法追踪所有最短路径 Blow是python代码实现 v len graph for k in range 0 v for i in range
  • 在Python中计算结构体的CRC

    我有以下结构 来自 C 中的 NRPE 守护程序代码 typedef struct packet struct int16 t packet version int16 t packet type uint32 t crc32 value
  • x11 - 导入错误:没有名为“kivy.core.window.window_x11”的模块

    目前我正在尝试构建一个我通过 buildozer 用 Python 和 Kivy 编写的应用程序 无论我在做什么 我都会遇到 window x11 的问题 即使我在代码中注释掉所有与 Windows 相关的内容或执行本文中描述的所有操作 这
  • 网页抓取 - 如何识别网页上的主要内容

    给定一个新闻文章网页 来自任何主要新闻来源 例如时报或彭博社 我想识别该页面上的主要文章内容 并丢弃其他杂项元素 例如广告 菜单 侧边栏 用户评论 在大多数主要新闻网站上都可以使用的通用方法是什么 有哪些好的数据挖掘工具或库 最好是基于Py
  • psutil:测量特定进程的CPU使用率

    我正在尝试测量进程树的 cpu 使用率 目前获取进程 没有子进程 的 cpu usage 就可以了 但我得到了奇怪的结果 import psutil p psutil Process PID p cpu percent 还给我float g
  • Jupyter Notebook 中的多处理与线程

    我试图测试这个例子here https ipywidgets readthedocs io en stable examples Widget 20Asynchronous html将其从线程更改为多处理 在 jupyter Noteboo
  • 在 Tensorflow 2.0 中的简单 LSTM 层之上添加 Attention

    我有一个由一个 LSTM 和两个 Dense 层组成的简单网络 如下所示 model tf keras Sequential model add layers LSTM 20 input shape train X shape 1 trai
  • Jinja2中获取请求参数

    如何检索请求参数a在 Jinja2 模板中 http foo bar a 1 我这个答案有点晚了 但其他解决方案并没有真正考虑到您对 Flask 的使用 事实上 您将 Flask 与 Jinja2 一起使用 这使得您的情况与其他框架有点不同
  • 使 matplotlib 图形默认看起来像 R?

    Is there a way to make matplotlib behave identically to R or almost like R in terms of plotting defaults For example R t
  • 如何动态创建 Luigi 任务

    我正在为 Luigi Tasks 构建一个包装器 但遇到了一个障碍Register http luigi readthedocs io en stable modules luigi task register html Register该

随机推荐

  • 如何使用预准备语句防止 PHP 中的 SQL 注入

    SQL 注入是一种常见的攻击形式 针对使用 SQL 数据库的 Web 应用程序 在此类攻击中 攻击者利用应用程序代码中的漏洞注入恶意 SQL 语句 这些语句可能会危害数据库并可能泄露敏感信息 PHP 是一种流行的 Web 开发语言 通常与
  • 了解 Python 中的区分大小写

    Python 是使用最广泛的编程语言之一 以其简单性和可读性而闻名 然而 与许多语言一样 它具有新手和经验丰富的程序员都应该理解的独特特征 其中一项特征是区分大小写 在本指南中 我们将深入了解 Python 中的大小写敏感性及其重要性 什么
  • 如何设置 SFTP Chroot Jail

    如果您是管理 Linux 服务器的系统管理员 您可能需要向某些用户授予 SFTP 访问权限 以将文件上传到他们的主目录 默认情况下 可以通过SSH SFTP等方式登录系统的用户SCP可以浏览整个文件系统 包括其他用户的目录 如果这些用户是可
  • 如何在 Linux 中终止进程

    您是否遇到过这样的情况 您启动了一个应用程序 但在使用该应用程序时突然变得无响应并意外崩溃 您尝试再次启动应用程序 但没有任何反应 因为原始应用程序进程从未真正完全关闭 好吧 我们所有人都曾在某个时刻发生过这种事 不是吗 解决方案是终止或终
  • 如何在 CentOS 7 上设置 SSH 密钥

    Secure Shell SSH 是一种加密网络协议 专为客户端和服务器之间的安全连接而设计 两种最流行的 SSH 身份验证机制是基于密码的身份验证和基于公钥的身份验证 使用 SSH 密钥通常比传统的密码身份验证更安全 更方便 本教程介绍如
  • 如何重命名本地和远程 Git 分支

    您正在与一群人合作开发一个项目 并且您已经为 git 分支定义了命名约定 你创建了一个新分支 将更改推送到远程存储库 并意识到您的分支名称不正确 幸运的是 Git 允许您使用以下命令轻松地重命名分支 git branch m命令 本指南介绍
  • 了解 Linux 文件权限

    在 Linux 中 文件权限 属性和所有权控制系统进程和用户对文件的访问级别 这确保只有授权的用户和进程才能访问特定的文件和目录 Linux 文件权限 基本的 Linux 权限模型的工作原理是将每个系统文件与所有者和组相关联 并为三类不同的
  • Python 字符串替换

    在本文中 我们将讨论如何在 Python 中使用replace method replace 方法 在Python中 字符串被表示为不可变的str对象 这str类附带了许多允许您操作字符串的方法 The replace 方法采用以下语法 s
  • 如何在 Ubuntu 18.04 上安装 Sublime Text 3

    崇高的文字是用于 Web 和软件开发的最广泛使用的文本和源代码编辑器之一 它速度非常快 并且具有许多开箱即用的强大功能 您可以通过安装新插件和创建自定义设置来增强其功能 在本教程中 我们将向您展示如何在 Ubuntu 18 04 计算机上安
  • Linux 中的 rmmod 命令

    每个Linux操作系统的核心组件是Linux内核 它管理系统的资源 并充当计算机硬件和软件之间的中介 Linux内核是一个采用模块化设计的软件 内核模块 通常称为驱动程序 是扩展内核功能的一段代码 模块可以编译为可加载模块或内置到内核中 可
  • 如何在 Windows 上创建可启动的 Ubuntu U 盘

    本教程将引导您完成在 Windows 上创建可启动 Ubuntu U 盘的过程 您可以使用此 U 盘来启动并测试或在任何支持从 USB 启动的计算机上安装 Ubuntu 先决条件 4GB 或更大的 USB 记忆棒驱动器 Microsoft
  • 如何在 CentOS 8 上安装 Ruby

    Ruby 是当今最流行的语言之一 它具有优雅的语法 并且是 Ruby on Rails 框架背后的语言 在本文中 我们将探索在 CentOS 8 上安装 Ruby 的不同方法 我们将展示如何从默认的 CentOS 8 存储库并使用 Rben
  • 如何在 Vim / Vi 中复制、剪切和粘贴

    处理文本文件时 复制 剪切和粘贴文本是最常执行的任务之一 Vim 或其前身 Vi 预装在 macOS 和几乎所有 Linux 发行版上 在您最喜欢的编辑器不可用的情况下 了解 Vim 的基础知识会很有帮助 本文介绍如何在 Vim Vi 编辑
  • 如何创建并列出本地和远程 Git 分支

    分支是软件开发过程的一部分 也是 Git 中最强大的功能之一 分支本质上是指向某个提交的指针 当修复错误或开发新功能时 开发人员正在创建一个新分支 稍后可以将其合并到主代码库中 本文介绍如何创建和列出本地和远程 Git 分支 列出 Git
  • Linux find 命令的高级正则表达式

    The 查找命令Linux 中允许您根据不同的条件在目录层次结构中搜索文件和目录 的一项强大功能find是它使用正则表达式进行搜索的能力 正则表达式 或简称 regex 提供了一种匹配字符串中字符序列的方法 目录 hide 1 正则表达式引
  • Bash While 循环:从基础知识到实际应用

    In Bash 脚本 while 循环用于在指定条件为 true 时执行语句块 基本语法是 while CONDITION do Commands to be executed done 只要 CONDITION 计算结果为 true 循环
  • 使用 Pandas DataFrame iloc 属性进行基于索引的访问

    The iloc财产在Pandas库代表 整数位置 并提供基于整数的索引以按位置进行选择 这意味着您可以通过整数位置选择 DataFrame 中的行和列 在本教程中 我们将介绍使用的各个方面iloc 包括选择单行 多行 特定列 甚至单个单元
  • Python defaultdict 简介:类固醇词典

    在Python中 defaultdict是一个类似于字典的类collections模块允许我们为字典中未显式设置的键定义默认值 它是内置的子类dict class Both dict and defaultdict用于以键值对格式 Pyth
  • 19 个有用的 Linux 命令行提示和技巧

    您可能已经注意到 Linux 是一个非常复杂的操作系统 因此 当发生的事情太多时 工作可能会变得有点乏味 但这正是 Linux 的自然之美的闪光点 有许多技巧和快捷方式可以在命令行中使用 以提供额外的便利 这一系列的技巧包括方便的命令和巧妙
  • Python 编程基础知识与示例

    Python 是一种流行且功能强大的脚本语言 可以做任何事情 您可以执行网页抓取 网络工具 科学工具 Raspberry Pi 编程 Web 开发 视频游戏等等 通过Python编程 无论您使用什么平台 您甚至可以进行系统编程 说到机器学习