python的相对路径和绝对路径

python相对路径与绝对路径 如,在Windows下创建文件matlplot_contourf.py,它的绝对路径为:C:\Users\ZARD\PycharmProjects\pythonProject\python基础。首先打开b.py 文件,在b.py 文件中输入下面的代码。用绝对路径打开文件,可以不限制打开的文件夹。通过对比两个路径,发现把绝对路径的单反斜杠统一写成了双反斜杠,然后放到参数中。因为在Python中,有转义字符的语法,【\】+字母能实现特殊的功能。使用绝对路径能精准定位文件在系统的位置,编程时能准确调用文件。 阅读详情

随笔

在写python的时候或多或少会用到相对路径,这样无论工程在哪里都可以执行

首先看当前的py文件路径

import os
path1 = os.path.abspath('.')
print(path1)

然后再查看文件的路径

# 文件里面在当前路径
data = r".\data.xlsx"
# 文件在上一层级目录
data = r"..\data.xlsx"
# 文件在上一层级的Excel目录下
data = r"..\Excel\data.xlsx"

 代码可以查看路径是否存在,来看看是不是需要新建路径

# 判断是否存在该路径,返回True或者False
os.path.exists(your_pointed_dir)

下面是新建路径

# 新建路径,可写多个路径
os.makedirs('your_pointed_dir')

9.1 Python 绝对路径与相对路径 第九章 文件的读写操作 9.1 Python 绝对路径与相对路径 9.1.1 准备工作 第1步:对照下图,新建文件和文件夹: 1.在桌面新建文件夹,命名为file。 2.在file文件夹中新建2个文件夹,分别命名为a_file, b_file。 3.在file文件夹中新建1个txt文件,命名为xxx.txt,在xxx.txt 文件中写入“好好学习,天天向上!!!”。 4.在a_file文件夹中新建1个txt文件,命名为aaa.txt,在aaa.txt 文件中写入“恭喜你,文件读取成功!!!”。 5.在b 阅读详情

相关推荐

Python绝对路径和相对路径详解

在介绍绝对路径和相对路径之前,先要了解一下什么是当前工作目录。 什么是当前工作目录 每个运行在计算机上的程序,都有一个“当前工作目录”(或 cwd)。所有没有从根文件夹开始的文件名或路径,都假定在当前工作目录下。 注意,虽然文件夹是目录的更新的名称,但当前工作目录(或当前目录)是标准术语,没有当前工作文件夹这种说法。 在Python中,利用 os.getcwd() 函数可以取得当前工作路径的字符串,还可以利用 os.chdir() 改变它。例如,在交互式环境中输入以下代码: >&gt..

量慧实工作室LHStudio的博客 1406

python的绝对路径和相对路径

一、绝对路径

python伊甸园的博客 3万+

Python 学习之绝对路径和相对路径

下面的路径介绍针对windows 文章目录一、绝对路径和相对路径二、绝对路径和相对路径的转换 一、绝对路径和相对路径 在编写的py文件中打开文件的时候经常见到下面其中路径的表达方式: open('aaa.txt') open('/data/bbb.txt') open('D:\\user\\ccc.txt') open('D:/user/ccc.txt') open(r'D:\user\ccc.t...

南淮北安的博客 1500

Python文件操作—— 补充(“相对路径”与“绝对路径”的区别)

接着第一篇(Python文件操作),这一篇会接着补充 上一篇没有出现的知识   目录 一、路径问题        1、什么是"绝对路径"? 二、亲身体会什么是"相对路径"        1、在桌面创建一个文件夹,名字为"py_file"        2、打开"py_file",再创建一个文件夹"py_myfile"        3、然后运行一下file.py 文件      ...

欢迎来到Gorit的博客 2564

Python绝对路径和相对路径

绝对路径,是从最顶级的目录开始,一级一级往下查找。 ——绝对路径的方式弊端,就是当文件目录结构等级比较多,比较复杂的时候,查找起来就非常麻烦。 那么,当当文件目录结构等级比较多,比较复杂的时候,就建议使用相对路径来解决。 相对路径,相对于当前文件目录路径下的另外一个文件目录位置。 使用“.”符号表示当前目录。 使用“…”表示上级目录。 使用“…”表示上上级目录,以此类推。(一般超过3级目录或以上,就使用绝对路径比较清晰明了了。) ——使用xiangdui9路径,可以大大简化导入路径。尤其是目录比较复杂,层级

tuliyou的博客 2600

金蝶云星空-协同开发云-安装开发环境

金蝶协同开发云就是不需要每一个开发都在自己的本机安装开发环境,自己安装可容易出错,包括源代码管理也一并解决了,大大减少了开发人员的工作量和降低了上手的难度。

qq_33881408的博客 5595

以Python为例子3分钟搞懂相对路径和绝对路径

以Python为例子3分钟搞懂相对路径和绝对路径

qq_65258277的博客 495

AI工程化之生成式UI & A2UI(一)

本文系统介绍了生成式UI和Google A2UI技术。生成式UI通过AI直接生成前端代码(完全生成式)或DSL(混合式),实现千人千面的动态界面和研发提效。Google A2UI提出组件级和消息级协议,采用JSON规范实现渲染框架解耦,支持多端渲染。文章详细阐述了A2UI的架构设计,包括协议生成、服务端处理和渲染器实现,并对比了与传统前端框架的差异,指出A2UI本质是UI=F(AI(UI)+AI(state))的创新模式。最后通过playground项目展示了A2UI的实践应用。

qq_34306228的博客 588

一张图带你看懂Python中的绝对路径和相对路径

什么是绝对路径与相对路径 明确一个文件所在的路径,有 2 种表示方式,分别是: 绝对路径:总是从根文件夹开始,Window 系统中以盘符(C:、D:)作为根文件夹,而 OS X 或者 Linux 系统中以 / 作为根文件夹。 相对路径:指的是文件相对于当前工作目录所在的位置。例如,当前工作目录为 “C:\Windows\System32”,若文件 demo.txt 就位于这个 System32 文件夹下,则 demo.txt 的相对路径表示为 “.\demo.txt”(其中 .\ 就表示当前所在目录)。 在

qq_35892287的博客 1963

HDMI调试避坑指南:从AVI InfoFrame到通用控制包,这些DataIsland Packet细节千万别忽略

本文深入解析HDMI调试中DataIsland数据包的关键细节,包括AVI InfoFrame、通用控制包和音频时钟再生包(ACR)的配置与故障排查。通过实际案例和寄存器配置示例,帮助工程师快速定位显示异常、色彩失真和音频中断等问题,提升HDMI接口调试效率。

weixin_30897233的博客 635

量化投资进阶:Fama-French三因子模型实战解析与Python实现

本文深入解析了Fama-French三因子模型,并提供了完整的Python实战指南。文章阐述了该模型如何通过引入市值因子(SMB)和价值因子(HML),对传统CAPM模型进行重要扩展,以更精准地解释股票收益来源。详细演示了使用Python获取数据、执行回归分析并解读结果(包括关键的阿尔法α)的全过程,并探讨了该模型在量化策略构建、风格诊断和业绩归因中的核心应用。

yog99的博客 1126

Python相对路径 vs 绝对路径

相对路径 vs 绝对路径 这是文件路径系列的第3篇。很多网友碰到找不到文件的问题,都是因为对Python读取文件路径的知识理解不深。本周的每天3分钟,我们就主要围绕路径问题。 今天主要从概念上再聊一下相对路径和绝对路径。内容是是从我出版的书Python办公效率手册中的一段。 初学者经常会被读取不到文件的问题所困扰。遇到这种问题首先看自己是否有拼写错误,然后就是要理解好本节的内容:文件路径。 1)相对路径 前面的代码在读取文件时,并没有指明文件所在的目录。默认情况下,Python会以执行Python命令的目录

JAVAmonster12的博客 9649

UNet改进(54):当医学图像分割遇上频域学习与自监督

本文提出了一种改进U-Net的方法,通过频域增强模块和代理任务模块提升医学图像分割性能。频域增强模块在傅里叶空间对特征图进行可学习的频率调制,重点增强高频细节特征;代理任务模块通过图像重建约束编码器保留关键信息。两个模块协同工作,在仅增加5%参数量的情况下,形成空间域、频域和重建约束三条互补的信息路径。该方法特别适用于需要精细边缘分割的医学图像任务,预期能提升5%-10%的边缘分割精度,在小样本场景效果更显著。部署时可移除代理任务模块,不影响推理效率。未来可探索空间自适应频域调制和更丰富的代理任务设计。

2501_91516851的博客 225

python绝对路径和相对路径

今天记录一下python绝对路径和相对路径的问题 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录一、绝对路径二、相对路径三、如何查看当前所在目录 提示:以下是本篇文章正文内容,下面案例可供参考 一、绝对路径 E:\python\爬虫课件的三种表示方法 ①由windows下文件目录复制而来的路径,“\”在python中是作为转义符使用,所以在python中若想使用windows下的路径标识,前面要加一个r,r的全称是raw string,即原始字符串常量,可以让字符保持原来的

weixin_45619473的博客 1万+

CAPL编程规范与最佳实践

通过本文的学习,读者应该对CAPL编程规范与最佳实践有了初步的了解,并能够编写高质量的CAPL脚本。在实际项目中,CAPL的应用非常广泛,希望读者能够通过不断的学习和实践,掌握更多的CAPL技巧,提高自己的开发能力。

闲人编程的博客 1747

Rockchip eMMC寿命监控:SMART信息读取与预防性维护

擦写计数坏块数量温度使用时间。

小灰灰的博客 762

python相对路径和绝对路径总结

Contents1 当前工作目录1.1 os.getcwd() 函数可用于获取当前工作目录1.2 os.chdir() 函数可用于获取当前工作目录2 相对路径和绝对路径3 python的os.path模块提供的路径相关函数3.1 os.getcwd() 函数:获取当前工作目录3.2 os.path.abspath(path) :返回 path 参数的绝对路径的字符串3.3 os.path.isabs(path):判断 path 是否为绝对路径3.4 os.path.relpath(path, start)

Bryce-HJ 9980

C# Blazor Server工业监控Web UI:实时数据推送、历史曲线、报警记录,跨浏览器访问(踩坑总结+生产可用)

坑点现象解决方案StateHasChanged()太频繁服务器CPU占用高,浏览器卡顿别100ms刷新一次,1秒刷新一次足够并发高时服务器卡多个用户同时访问,服务器响应慢用Redis做分布式缓存,或者加服务器做负载均衡断线重连后数据丢失浏览器刷新后,实时数据不更新用InfluxDB存历史数据,刷新后重新查询工业现场网络不稳定Blazor Server频繁断线用SQLite本地缓存,断网时数据不丢,联网后补发历史曲线查询慢查询过去7天的数据,要等很久。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 303

【python】python中的绝对路径与相对路径

1、绝对路径 绝对路径有三种使用方法: (1)反斜杠 ‘\’:由于反斜杠 ‘\’ 要用作转义符, 所以如果要使用反斜杠表示路径,则必须使用双反斜杠,例子: ‘C:\Users\Administrator\Desktop\image\image1.jpg’ (2)原始字符串 r’’:可以使用原始字符串+单反斜杠‘\’的方式表示路径,例子: r’C:\Users\Administrator\Deskt...

zhouzongzong的博客 1万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

python相对路径找不到文件_Python绝对路径和相对路径详解

在介绍绝对路径和相对路径之前,先要了解一下什么是当前工作目录。什么是当前工作目录每个运行在计算机上的程序,都有一个“当前工作目录”(或 cwd)。所有没有从根文件夹开始的文件名或路径,都假定在当前工作目录下。注意,虽然文件夹是目录的更新的名称,但当前工作目录(或当前目录)是标准术语,没有当前工作文件夹这种说法。在 Python 中,利用 os.getcwd() 函数可以取得当前工作路径的字符串,还...

weixin_39759881的博客 4072

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Python相对路径转绝对路径,绝对路径转相对路径

1.绝对路径转相对路径 print os.path.relpath("d:/MyProj/MyFile.txt") #..\MyProj\MyFile.txt 是根据当前路径的相对路径 2.相对路径转绝对路径 注意用os.chdir(dir)改变当前比较路径 path = "..\MyProj\MyFile.txt" print os.path.a...

dongfushu7972的博客 2570

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

python学习:绝对路径和相对路径

大牛们应该对路径都很了解了,这篇文章主要给像我这样的入门小白普及常识用的,啊哈 下面的路径介绍针对windows,其他平台的暂时不是很了解。 在编写的py文件中打开文件的时候经常见到下面其中路径的表达方式: open('aaa.txt') open('/data/bbb.txt') open('D:\\user\\ccc.txt') 这三种表达式里面,前两个都是相对路径,第三个则是

databatman的工厂 14万+

python相对路径和绝对路径_如何用PYTHON把相对路径转为绝对路径

用PYTHON把相对路径转为绝对路径工具/原料PYTHON方法/步骤1打开JUPYTER NOTEBOOK,新建一个空白的PY文档。2import os首先引入os模块。3os.path.abspath('.')该PY文档由于是在桌面建立的,因此句号就去会返回桌面的位置。4os.path.abspath('.\\')这是另外的书写方式。5os.path.abspath('..\\')如果前面用两个...

weixin_39524247的博客 898

Python 相对路径、绝对路径的写法实例演示

Python的路径分相对路径和绝对路径。 ./代表当前文件夹,../代表上一级文件夹。

小蓝枣的博客 5万+

python绝对路径的区别_python学习:绝对路径和相对路径

大牛们应该对路径都很了解了,这篇文章主要给像我这样的入门小白普及常识用的,啊哈下面的路径介绍针对windows,其他平台的暂时不是很了解。在编写的py文件中打开文件的时候经常见到下面其中路径的表达方式:open('aaa.txt')open('/data/bbb.txt')open('D:\\user\\ccc.txt')这三种表达式里面,前两个都是相对路径,第三个则是绝对路径。绝对路径比较好理解...

weixin_39571179的博客 1882
上一篇: pymysql.err.ProgrammingError: (1064, “You have an error in your SQL syntax
下一篇: python的json处理
interface_comm
博客等级 码龄9年 38粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值