Python常用的50个提高效率脚本

在这里插入图片描述

文件和目录管理

  • 批量重命名文件
import os
for filename in os.listdir('.'):
os.rename(filename, filename.replace('old', 'new'))
  • 查找大文件
import os
for root, dirs, files in os.walk('.'):
for name in files:
if os.path.getsize(os.path.join(root, name)) > 1024 * 1024:  # 大于1MB
print(os.path.join(root, name))
  • 创建目录结构
import os``os.makedirs('dir/subdir/subsubdir', exist_ok=True)
  • 删除空目录
import os
for root, dirs, files in os.walk('.', topdown=False):
for name in dirs:
dir_path = os.path.join(root, name)
if not os.listdir(dir_path):
os.rmdir(dir_path)
  • 复制文件
import shutil
shutil.copy('source.txt', 'destination.txt')
  • 移动文件
import shutil
shutil.move('source.txt', 'destination.txt')
  • 读取文件内容
with open('file.txt', 'r') as file:
content = file.read()
  • 写入文件内容
with open('file.txt', 'w') as file:
file.write('Hello, World!')
  • 追加文件内容
with open('file.txt', 'a') as file:
file.write('\nAppend this line.')
  • 检查文件是否存在
import os
if os.path.exists('file.txt'):
print("File exists.")
else:
print("File does not exist.")

数据处理

  • 读取 CSV 文件
import csv
with open('data.csv', 'r') as file:
reader = csv.reader(file)
for row in reader:
print(row)
  • 写入 CSV 文件
import csv
data = [['Name', 'Age'], ['Alice', 30], ['Bob', 25]]
with open('data.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerows(data)
  • 读取 JSON 文件
import json
with open('data.json', 'r') as file:
data = json.load(file)
  • 写入 JSON 文件
import json
data = {'name': 'Alice', 'age': 30}
with open('data.json', 'w') as file:
json.dump(data, file)
  • 过滤列表中的重复项
my_list = [1, 2, 2, 3, 4, 4, 5]
unique_list = list(set(my_list))
  • 排序列表
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_list = sorted(my_list)
  • 反转列表
my_list = [1, 2, 3, 4, 5]
reversed_list = list(reversed(my_list))
  • 合并多个列表
list1 = [1, 2, 3]
list2 = [4, 5, 6]
combined_list = list1 + list2
  • 获取列表中的最大值
my_list = [1, 2, 3, 4, 5]
max_value = max(my_list)
  • 获取列表中的最小值
my_list = [1, 2, 3, 4, 5]
min_value = min(my_list)

网络请求与爬虫

  • 获取网页内容
import requests
response = requests.get('https://www.example.com')
print(response.text)
  • 解析 HTML 页面
from bs4 
import BeautifulSoup
soup = BeautifulSoup(response.text, 'html.parser')
titles = soup.find_all('h1')
for title in titles:
print(title.text)
  • 下载图片
import requests
img_data = requests.get('http://example.com/image.jpg').content
with open('image.jpg', 'wb') as handler:
handler.write(img_data)
  • 发送 HTTP POST 请求
import requests
payload = {'key1': 'value1', 'key2': 'value2'}
response = requests.post('https://httpbin.org/post', data=payload)
print(response.text)
  • 处理 JSON 响应
import requests
response = requests.get('https://api.example.com/data')
data = response.json()
print(data)
  • 设置超时时间
import requests
try:response = requests.get('https://www.example.com', timeout=5)
except requests.Timeout:
print("The request timed out")
  • 处理异常
import requests
try:response = requests.get('https://www.example.com')
response.raise_for_status()
except requests.HTTPError as http_err:
print(f"HTTP error occurred: {http_err}")
except Exception as err:
print(f"Other error occurred: {err}")
  • 使用会话保持连接
import requests
session = requests.Session()
response = session.get('https://www.example.com')
print(response.text)
  • 获取响应头信息
import requests
response = requests.get('https://www.example.com')
print(response.headers)
  • 设置自定义请求头
import requests
headers = {'User-Agent': 'MyApp/1.0'}
response = requests.get('https://www.example.com', headers=headers)
print(response.text)

自动化任务

  • 定时执行任务
import schedule
import time``def job():
print("I'm working...")
schedule.every(10).seconds.do(job)
while True:
schedule.run_pending()
time.sleep(1)
  • 发送电子邮件
import smtplib
from email.mime.text 
import MIMEText
msg = MIMEText('Hello, this is a test email.')
msg['Subject'] = 'Test Email'
msg['From'] = 'your_email@example.com'
msg['To'] = 'recipient@example.com'
s = smtplib.SMTP('localhost')
s.send_message(msg)
s.quit()
  • 运行系统命令
import subprocess
result = subprocess.run(['ls', '-l'], stdout=subprocess.PIPE)
print(result.stdout.decode('utf-8'))
* #### <font color=Red>压缩文件
```python
import zipfile
with zipfile.ZipFile('archive.zip', 'w', zipfile.ZIP_DEFLATED) as zipf:
zipf.write('file.txt')
  • 解压文件
import zipfile
with zipfile.ZipFile('archive.zip', 'r') as zipf:
zipf.extractall('extracted_files')
  • 监控文件变化
import time
import os
import hashlib
def get_file_hash(filename):
hasher = hashlib.md5()
with open(filename, 'rb') as f:
buf = f.read()
hasher.update(buf)
return hasher.hexdigest()
last_hash = None
while True:
current_hash = get_file_hash('file.txt')
if current_hash != last_hash:
print("File has changed!")
last_hash = current_hash
time.sleep(1)
  • 生成随机数
import random
random_number = random.randint(1, 100)
print(random_number)
  • 生成随机字符串
import random
import string
random_string = ''.join(random.choices(string.ascii_letters + string.digits, k=12))
print(random_string)
  • 生成随机密码
import random
import string
password = ''.join(random.choices(string.ascii_letters + string.digits, k=12))
print(password)
  • 读取环境变量
import os
api_key = os.getenv('API_KEY')
print(api_key)

文字处理

  • 统计单词数
text = "This is a test. This is only a test."
word_count = len(text.split())
print(f"Word count: {word_count}")
  • 替换字符串
text = "Hello, World!"
new_text = text.replace("World", "Python")
print(new_text)
  • 分割字符串
text = "apple,banana,orange"
fruits = text.split(',')
print(fruits)
* #### <font color=Red>连接字符串
```python
fruits = ['apple', 'banana', 'orange']
text = ', '.join(fruits)
print(text)
  • 检查字符串是否包含子串
text = "Hello, World!"
if "World" in text:
print("Found 'World' in the text.")
  • 将字符串转换为大写
text = "hello, world!"
upper_text = text.upper()
print(upper_text)
  • 将字符串转换为小写
text = "HELLO, WORLD!"
lower_text = text.lower()
print(lower_text)
  • 去除字符串首尾空格
text = "   Hello, World!   "
stripped_text = text.strip()
print(stripped_text)
  • 去除字符串中所有空格
text = "Hello,   World!"
no_space_text = text.replace(" ", "")
print(no_space_text)
  • 格式化字符串
name = "Alice"``age = 30
formatted_text = f"Name: {name}, Age: {age}"
print(formatted_text)

图片

总结

  • 最后希望你编程学习上不急不躁,按照计划有条不紊推进,把任何一件事做到极致,都是不容易的,加油,努力!相信自己!

文末福利

  • 最后这里免费分享给大家一份Python全套学习资料,希望能帮到那些不满现状,想提升自己却又没有方向的朋友,也可以和我一起来学习交流呀。

包含编程资料、学习路线图、源代码、软件安装包等!【[点击这里]】领取!

  • ① Python所有方向的学习路线图,清楚各个方向要学什么东西
  • ② 100多节Python课程视频,涵盖必备基础、爬虫和数据分析
  • ③ 100多个Python实战案例,学习不再是只会理论
  • ④ 华为出品独家Python漫画教程,手机也能学习

可以扫描下方二维码领取【保证100%免费

在这里插入图片描述

### 回答1: 《ArcGIS Python常用脚本》是一份包含常用脚本的文档。ArcGIS是一款专业的地理信息系统软件,可以用于地图制作、空间分析和数据管理等工作。而Python是一种常用的编程语言,在ArcGIS中也可以使用Python编写脚本来完成各种地理信息处理任务。 这份文档主要包括了一些常见的Python脚本示例,以帮助用户在ArcGIS中进行地理信息处理。这些脚本可以用于各种地理数据操作,如数据导入、属性查询、空间分析、地图生成等。通过学习和应用这些脚本,用户可以提高工作效率,简化繁琐的操作,并且可以根据需要进行自定义修改。 《ArcGIS Python常用脚本》不仅仅是一份简单的代码集合,还包含了详细的说明和示例。每个脚本都会附带注释,解释脚本的功能和使用方法。这样用户可以更容易地理解和使用这些脚本,甚至可以根据自己的需求进行修改和扩展。 这份文档的目的是帮助ArcGIS用户更好地利用Python编写脚本来完成各种地理信息处理任务。无论是初学者还是有一定经验的用户,都可以从中获益。通过学习和应用这些常用脚本,用户可以更高效地处理地理数据,提高工作效率。 总而言之,《ArcGIS Python常用脚本》是一份有助于ArcGIS用户利用Python编写脚本的文档,它包含了一些常见的脚本示例和详细的说明。通过学习和应用这些脚本,用户可以提高工作效率,简化繁琐的操作,并且可以根据需要进行自定义修改。 ### 回答2: ArcGIS是一款常用的地理信息系统(GIS)软件,而Python是一种常用的编程语言。两者结合使用可以进行各种地理空间数据的分析、处理和可视化。在ArcGIS中,Python可以用来编写脚本,以实现自动化的数据处理和分析任务。 常用的ArcGIS Python脚本包括: 1. 数据导入和导出脚本:可以使用Python脚本将各种常见的地理空间数据格式(如Shapefile、CSV、GDB等)导入到ArcGIS中,或将ArcGIS中的数据导出到其他格式。 2. 空间分析脚本:可以使用Python脚本执行各种空间分析操作,如缓冲区分析、叠加分析、空间插值等。通过编写脚本,可以将复杂的空间分析过程自动化,提高工作效率。 3. 地图生成脚本:可以使用Python脚本生成各种类型的地图,包括静态地图和交互式地图。通过编写脚本,可以自定义地图的样式和内容,满足不同的需求。 4. 地理数据处理脚本:可以使用Python脚本对地理空间数据进行各种处理,如数据清洗、特征提取、数据转换等。通过编写脚本,可以批量处理大量的地理数据,提高数据处理的效率。 5. 工作流程自动化脚本:可以使用Python脚本将多个ArcGIS操作组合起来,形成完整的工作流程。通过编写脚本,可以实现一键式地执行多个操作,简化工作流程,减少人工操作的时间和精力。 总之,ArcGIS Python脚本是一种强大的工具,可以帮助地理信息专业人士在ArcGIS软件中进行各种数据处理和分析任务的自动化。熟练掌握ArcGIS Python脚本编程,可以提高工作效率,减少重复劳动,使地理信息工作更加高效。 ### 回答3: 首先,ArcGIS是一款专业的地理信息系统软件,而Python是一种功能强大的编程语言。ArcGIS Python是通过使用Python编写和执行脚本来扩展ArcGIS功能的方法。 ArcGIS Python常用脚本.docx是一个文档,其中包含了常见的ArcGIS Python脚本示例和说明。这些脚本可以帮助用户更高效地处理和分析地理空间数据。 在这个文档中,你可能会找到一些常用的ArcGIS Python脚本,如数据导入导出脚本、地图制作脚本、空间分析脚本等。这些脚本可以帮助用户在ArcGIS环境中自动化执行特定的任务。 例如,数据导入导出脚本可以帮助用户将不同格式的地理空间数据转换为ArcGIS能够识别的格式,以便用户可以在ArcGIS中进行进一步的分析和可视化。 地图制作脚本可以帮助用户根据特定的需求自动生成地图,包括选择合适的底图、添加地理要素、设置符号等。 空间分析脚本可以帮助用户进行常见的空间分析任务,如缓冲区分析、叠加分析、地理加权回归等,以便用户可以从地理空间数据中提取有价值的信息。 总之,ArcGIS Python常用脚本.docx提供了一些常见的ArcGIS Python脚本示例,这些脚本可以帮助用户在ArcGIS环境中更好地处理和分析地理空间数据。用户可以根据自己的需求和学习目标来查找和学习适合自己的脚本示例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值