分类 python 下的文章

json.load()json.loads()json.dump()json.dumps() 是 Python 中 json 模块提供的方法,用于处理 JSON 数据。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。下面是这些方法的具体区别:

  1. json.load()

    • 这个方法用于从文件对象中读取 JSON 数据。
    • 它接受一个文件对象作为参数,并将其内容解析为 Python 对象(通常是字典或列表)。
    • 使用 json.load() 时,你需要先打开一个文件,并将其文件对象传递给这个方法。

示例:

import json

with open('data.json', 'r') as file:
    data = json.load(file)
  1. json.loads()

    • 这个方法用于从字符串中解析 JSON 数据。
    • 它接受一个 JSON 格式的字符串作为参数,并将其解析为 Python 对象。
    • json.load() 不同,json.loads() 处理的是字符串而不是文件对象。

示例:

import json

json_str = '{"name": "John", "age": 30}'
data = json.loads(json_str)
  1. json.dump()

    • 这个方法用于将 Python 对象写入文件对象,并将其转换为 JSON 格式的字符串。
    • 它接受两个参数:要序列化的 Python 对象和文件对象。
    • 使用 json.dump() 时,你需要先打开一个文件,并将其文件对象传递给这个方法。

示例:

import json

data = {"name": "John", "age": 30}
with open('data.json', 'w') as file:
    json.dump(data, file)
  1. json.dumps()

    • 这个方法用于将 Python 对象转换为 JSON 格式的字符串。
    • 它接受一个要序列化的 Python 对象作为参数,并返回一个 JSON 格式的字符串。
    • json.dump() 不同,json.dumps() 返回的是字符串而不是写入文件。

示例:

import json

data = {"name": "John", "age": 30}
json_str = json.dumps(data)
print(json_str)

总结来说,loadloads 是用来解析 JSON 数据的,区别在于 load 从文件对象读取,而 loads 从字符串读取。dumpdumps 是用来序列化 Python 对象为 JSON 数据的,区别在于 dump 将数据写入文件对象,而 dumps 返回 JSON 格式的字符串。

一、Cython

用cython是将.py文件转化为.so文件,这样加密的可靠性非常高,无法被被人破解,也就很好地保护了源代码。

1.环境准备

安装cython,以及gcc编译环境

pip install cython
yum install -y gcc python-devel
2.编译脚本
  1. 编写compile.py文件,内容如下:
from distutils.core import setup
from Cython.Build import cythonize
setup(
    ext_modules = cythonize("test.py")
)

2.然后运行

python compile.py build_ext --inplace

一、查看通过pip库版本

1.查看已经安装的所有库版本
pip list
2.查看已经安装的某个库版本
pip show paddlenlp
3.查看将要安装的某个库版本
pip index versions [your python module name]
例如:
pip index versions paddlenlp

或者
pip install  paddlenlp==

二、pip离线安装一个包

1.离线下载
#pip download 你的包名 -d "下载的路径(windows下双引号来表示文件夹)"
pip download paddlenlp -d pipDownloadTest
2.离线安装
# 模块有依赖包的把所有包放在一个文件夹下,执行以下命令安装
pip install --no-index --find-link=./pipDownloadTest paddlenlp

三、pip离线安装多个包

1.制作requirement.txt

此处制作requirement只是为了测试,pip freeze命令可将已安装的模块列表打印出来。实际应用中只需把要安装的包及版本信息写入一个文本文件。后续用写入pip包的文本文件代替后续命令中的requirement.txt文件。

pip freeze > requirement.txt
2.离线下载
pip download -d offline_packages -r requirements.txt #批量下载
pip download -d offline_packages [package_name] #单个包下载
3.离线安装
pip install --no-index --find-links=./offline_packages/ -r requirements.txt #批量安装
pip install --no-index --find-links=./offline_packages/ [package_name] #单个包安装

四、修改源
1.临时修改

pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple/

2.永久修改

如果虚拟环境已经配置好了tf或者pytorch环境可以直接调用

一、先测试环境是否可用

一般路径:/home/admin/anaconda3/envs/py36_tf2_fj/bin/python
注意测试的时候在bin 目录下不能用 python 需要使用./python

1.tf框架

import tensorflow as tf
tf.test.is_gpu_available()
结果如果为True代表tf环境可用

2.torch框架

import torch
torch.cuda.is_available()