50个常用Python脚本

50个常用Python脚本的代码示例:

  1. 复制文件和目录
import shutil
shutil.copy2('source_file', 'destination')
shutil.copytree('source_dir', 'destination')
  1. 字符串替换和查找
import re
string = "hello world"
new_string = re.sub(r"world", "python", string)
print(new_string)

if "world" in new_string:
  print("Found")
else:
  print("Not found")
  1. 文件读写操作
with open("file.txt", "r") as file:
  data = file.read()

with open("file.txt", "a") as file:
  file.write("New content")
  1. 解析CSV文件
import csv
with open('file.csv', newline='') as csvfile:
    reader = csv.reader(csvfile, delimiter=',', quotechar='|')
    for row in reader:
        print(', '.join(row))
  1. 解析Excel文件
import xlrd
workbook = xlrd.open_workbook('file.xlsx')
sheet = workbook.sheet_by_index(0)
print(sheet.cell_value(0, 0))
  1. 计算日期和时间
from datetime import datetime, timedelta
now = datetime.now()
today = datetime.today()
tomorrow = today + timedelta(days=1)
  1. 生成随机数
import random
random_number = random.randint(1, 100)
  1. 判断两个文件是否相同
import filecmp
if filecmp.cmp('file1.txt', 'file2.txt'):
    print("The files are the same")
else:
    print("The files are different")
  1. 从命令行读取参数
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--input", help="input file name")
args = parser.parse_args()
print(args.input)
  1. 定时执行脚本
import time
while True:
    print("Hello")
    time.sleep(1) # wait for 1 second
  1. 发送电子邮件
import smtplib
from email.mime.text import MIMEText

msg = MIMEText('This is the body of the email')
msg['Subject'] = 'Subject'
msg['From'] = 'sender@example.com'
msg['To'] = 'recipient@example.com'

s = smtplib.SMTP('localhost')
s.sendmail('sender@example.com', ['recipient@example.com'], msg.as_string())
s.quit()
  1. 使用正则表达式匹配字符串
import re
match = re.search(r"world", "hello world")
print(match.group())
  1. 使用JSON格式处理数据
import json
data = {
    "name": "John",
    "age": 30,
    "city": "New York"
}
json_string = json.dumps(data)
new_data = json.loads(json_string)
  1. 解析XML文件
import xml.etree.ElementTree as ET
tree = ET.parse('file.xml')
root = tree.getroot()
print(root.tag)
  1. 将PDF转换成文本文件
import PyPDF2
pdf_file = open('file.pdf', 'rb')
reader = PyPDF2.PdfReader(pdf_file)
text = ""
for page in reader.pages:
    text += page.text
  1. 爬取网页内容
import requests
response = requests.get('http://example.com')
print(response.content)
  1. 获取本机IP地址
import socket
print(socket.gethostbyname(socket.gethostname()))
  1. 生成二维码
import qrcode
img = qrcode.make('Hello, World!')
img.save('qrcode.png')
  1. 计算文件大小
import os
size = os.path.getsize('file.txt')
  1. 对图片进行处理
from PIL import Image
img = Image.open('image.jpg')
img = img.resize((400, 300))
img.save('new_image.jpg')
  1. 反转字符串
string = "hello world"
new_string = string[::-1]
print(new_string)
  1. 计算字符串中单词的数量
string = "hello world"
word_count = len(string.split())
print(word_count)
  1. 模糊匹配字符串
from fuzzywuzzy import fuzz
ratio = fuzz.ratio("hello world", "helloworld")
print(ratio)
  1. 显示进度条
import time
from tqdm import tqdm
for i in tqdm(range(100)):
    time.sleep(0.1)
  1. 创建ZIP文件
import zipfile
with zipfile.ZipFile('file.zip', 'w') as zip:
    zip.write('file.txt')
  1. 使用FTP上传和下载文件
import ftplib
ftp = ftplib.FTP()
ftp.connect('ftp.example.com')
ftp.login('username', 'password')
ftp.cwd('/uploads')
with open('file.txt', 'rb') as file:
    ftp.storbinary('STOR file.txt', file)
ftp.quit()
  1. 通过网络发送广播消息
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
s.sendto(b'Hello, World!', ('<broadcast>', 12345))
s.close()
  1. 控制键盘和鼠标
import pyautogui
pyautogui.moveTo(100, 100, duration=1)
pyautogui.click(button='left')
  1. 剪贴板操作
import pyperclip
text = pyperclip.paste()
pyperclip.copy('New text')
  1. 创建和管理日志文件
import logging

logging.basicConfig(filename='app.log', level=logging.INFO)

logging.debug('This is a debug message')
logging.info('This is an informational message')
logging.warning('This is a warning message')
logging.error('This is an error message')
logging.critical('This is a critical message')
  1. 打印系统信息
import platform
print(platform.system())
print(platform.release())
  1. 投掷骰子模拟游戏
import random
class Dice:
    def throw(self):
        return random.randint(1, 6)

dice = Dice()
result = dice.throw()
print(result)
  1. 编写简单的计算器
def add(a, b):
    return a + b

def subtract(a, b):
    return a - b

def multiply(a, b):
    return a * b

def divide(a, b):
    return a / b

a = 5
b = 3
print(add(a, b))
print(subtract(a, b))
print(multiply(a, b))
print(divide(a, b))
  1. 处理异常和错误
try:
    x = 1 / 0
except ZeroDivisionError as e:
    print(e)
finally:
    print("Finally block")
  1. 生成缩略图
from PIL import Image
img = Image.open('image.jpg')
img.thumbnail((100, 100))
img.save('thumbnail.jpg')
  1. 使用Google Maps API获取地图数据
import requests
response = requests.get('https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA')
json_data = response.json()
lat = json_data['results'][0]['geometry']['location']['lat']
lng = json_data['results'][0]['geometry']['location']['lng']
  1. 调用外部命令
import os
os.system('ls -l')
  1. 使用subprocess模块启动后台任务
import subprocess
subprocess.Popen(['python', 'script.py'])
  1. 爬虫去重
from collections import defaultdict
url_list = ['http://example.com', 'http://example.com', 'http://google.com']
url_dict = defaultdict(int)
for url in url_list:
    url_dict[url] += 1
print(url_dict.keys())
  1. 自动化微信账号管理
import itchat

@itchat.msg_register(itchat.content.TEXT)
def text_reply(msg):
    return "I received: " + msg.text

itchat.auto_login(hotReload=True)
itchat.run()
  1. 简单聊天机器人
import random

responses = ["Hello", "Hi", "How are you?", "I'm fine.", "Goodbye"]

while True:
    message = input("You: ")
    if message == "exit":
        break
    response = random.choice(responses)
    print("Bot: " + response)
  1. 查找最大值和最小值
numbers = [1, 2, 3, 4, 5]
print(max(numbers))
print(min(numbers))
  1. 将字符串转换为Python代码并执行
code = """
for i in range(10):
    print(i)
"""
exec(code)
  1. 生成二进制文件
with open("file.bin", "wb") as file:
    data = bytes([0x01, 0x02, 0x03])
    file.write(data)
  1. 数据清洗和处理
import pandas as pd
data = pd.read_csv('file.csv')
data = data.dropna() # remove null values
data = data.sort_values('column') # sort by column
  1. 实现FTP服务器
from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer

authorizer = DummyAuthorizer()
authorizer.add_anonymous('/')

handler = FTPHandler
handler.authorizer = authorizer

server = FTPServer(('localhost', 21), handler)
server.serve_forever()
  1. 数据库连接和查询操作
import sqlite3
connection = sqlite3.connect('example.db')
cursor = connection.cursor()

cursor.execute("CREATE TABLE example (id INTEGER PRIMARY KEY, name TEXT)")
cursor.execute("INSERT INTO example (name) VALUES ('John')")
data = cursor.execute("SELECT * FROM example")
for row in data:
    print(row)

connection.close()
  1. 实现简单的Web服务器
from http.server import HTTPServer, BaseHTTPRequestHandler

class MyHandler(BaseHTTPRequestHandler):
    def do_GET(self):
        self.send_response(200)
        self.send_header('Content-type', 'text/html')
        self.end_headers()
        message = "Hello, World!"
        self.wfile.write(bytes(message, "utf8"))

httpd = HTTPServer(('localhost', 8080), MyHandler)
httpd.serve_forever()
  1. 使用Python实现加密算法
import hashlib
message = "Hello, World!"
hash_object = hashlib.sha256(message.encode('utf-8'))
hash_value = hash_object.hexdigest()
print(hash_value)
  1. 实现基本的人工智能
import random
responses = {
    "hello": ["Hello", "Hi", "How are you?"],
    "goodbye": ["Goodbye", "See you later", "Take care"]
}

while True:
    message = input("You: ")
    if message == "exit":
        break
    for keyword in responses.keys():
        if keyword in message.lower():
            response = random.choice(responses[keyword])
            print("Bot: " + response)
            break
    else:
        print("Bot: Sorry, I don't understand.")

以上是50个常用Python脚

### 回答1: 要在 Python 中调用另一个 Python 脚本,可以使用 `subprocess` 模块中的 `run` 函数。例如,假设你要调用名为 `my_script.py` 的 Python 脚本,你可以使用以下代码: ```python import subprocess result = subprocess.run(['python', 'my_script.py'], capture_output=True, text=True) print(result.stdout) ``` 其中,`subprocess.run` 函数的第一个参数是一个列表,其中包含要运行的命令及其参数。在这个例子中,我们使用 `python` 命令来运行 `my_script.py` 脚本。`capture_output=True` 参数表示将捕获脚本的标准输出和标准错误输出,`text=True` 参数表示输出将被解码为 Unicode 字符串。最后,我们将输出打印到屏幕上。 ### 回答2: 在Python中,我们可以通过导入模块或调用命令行来调用另一个Python脚本。 1. 导入模块调用脚本: 如果我们想在一个Python脚本中调用另一个Python脚本,可以使用`import`语句将该脚本作为一个模块导入。例如,如果我们有一个名为`script1.py`的脚本,想要在另一个脚本中调用它,可以使用以下代码: ```python import script1 ``` 然后就可以使用`script1`模块中的函数、变量或类。 2. 命令行调用脚本: 如果我们想直接在命令行中调用Python脚本,可以使用以下命令: ``` python script.py ``` 其中`script.py`是要调用的Python脚本的文件名。 除此之外,我们还可以在调用脚本时传递参数。例如,我们可以使用以下命令传递一个参数给调用的Python脚本: ``` python script.py arg1 ``` 在被调用的脚本中,我们可以使用sys模块来获取传递的参数: ```python import sys arg = sys.argv[1] print(arg) ``` 这将打印出`arg1`。 总而言之,通过导入模块或使用命令行,我们可以在Python中轻松地调用其他的Python脚本,并通过传递参数来进行交互。 ### 回答3: 在Python中,可以使用`subprocess`模块来调用其他的Python脚本。 要调用Python脚本,可以使用`subprocess.call()`函数。该函数需要传入一个包含了所要调用脚本的命令以及参数的列表。例如,假设有一个名为`script.py`的Python脚本,可以使用以下代码来调用它: ```python import subprocess subprocess.call(['python', 'script.py']) ``` 上述代码中,`subprocess.call()`函数接收的参数是一个包含两个元素的列表。第一个元素是要调用的Python解释器的路径,即`python`。第二个元素是要调用的脚本的文件名,即`script.py`。在调用过程中,可以传递其他的命令行参数作为列表的额外元素。 需要注意的是,被调用的脚本和调用脚本应该在同一个工作目录下,或者使用绝对路径来指定被调用脚本的位置。 除了`subprocess.call()`函数之外,还有其他的函数可以实现与Python脚本的交互,例如`subprocess.run()`、`subprocess.Popen()`等。根据具体需求,可以选择适合的函数来调用Python脚本。总体来说,使用`subprocess`模块可以轻松地在Python中调用其他的Python脚本
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hhb_618

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值