python serial库函数(python serial接收读取数据)

对于学Python的人来说想必大家os这个模块不会陌生,还有一个与之紧密相关的便是sys,但是sys一般很少用,所以今天我们就来说说这两个模块到底有哪些神器的功能。 /sys/ sys模块包括了一组非常实用的服务,内含很多函数方法和变量, 用来处理Python运行时配置以及资源,从而可以与前当程序之外的系统环境交互。 也就是说他是一个很有用的模块,只是我们平时很少用到而已。 #命令行参数List,…

对于学Python的人来说想必大家os这个模块不会陌生,还有一个与之紧密相关的便是sys,但是sys一般很少用,所以今天我们就来说说这两个模块到底有哪些神器的功能。

/sys/

sys模块包括了一组非常实用的服务,内含很多函数方法和变量,

用来处理Python运行时配置以及资源,从而可以与前当程序之外的系统环境交互。

也就是说他是一个很有用的模块,只是我们平时很少用到而已。

#命令行参数List,第一个元素是程序本身路径
sys.argv  


#返回系统导入的模块字段,key是模块名,value是模块
sys.modules 


#退出程序,正常退出时exit(0)
sys.exit(n)    


#返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.path    


#标准输出
sys.stdout.write(\'output\') 


 #标准输入
sys.stdin.readline()[:-1]


#返回所有已经导入的模块名
sys.modules.keys() 


#返回所有已经导入的模块
sys.modules.values() 


 #获取当前正在处理的异常类,exc_type、exc_value、exc_traceback当前处理的异常详细信息
sys.exc_info() 




#获取Python解释程序的版本值,16进制格式如:0x020403F0
sys.hexversion    


#获取Python解释程序的版本
sys.version     


 #解释器的C的API版本
sys.api_version   


#解释器版本信息 返回major=3, minor=6, micro=6, releaselevel=\'final\', serial=0
#‘final’表示最终,也有’candidate’表示候选,serial表示版本级别,是否有后继的发行
sys.version_info


#如果value非空,这个函数会把他输出到sys.stdout,并且将他保存进__builtin__._.指在python的交互式解释器里,’_’ 代表上次你输入得到的结果,hook是钩子的意思,将上次的结果钩过来
sys.displayhook(value)  




#打印出给定的回溯和异常sys.stderr。
sys.excepthook(type,value,callback) 


#返回当前你所用的默认的字符编码格式
sys.getdefaultencoding()  


#返回将Unicode文件名转换成系统文件名的编码的名字
sys.getfilesystemencoding()


 #用来设置当前默认的字符编码,如果name和任何一个可用的编码都不匹配,抛出 LookupError,这个函数只会被site模块的sitecustomize使用,一旦别site模块使用了,他会从sys模块移除
sys.setdefaultencoding(name)


#Python解释器导入的模块列表
sys.builtin_module_names   


#Python解释程序路径
sys.executable       


#获取Windows的版本
sys.getwindowsversion()    


#记录python版权相关的东西
sys.copyright    


#本地字节规则的指示器,big-endian平台的值是’big’,little-endian平台的值是’little’
sys.byteorder     


#用来清除当前线程所出现的当前的或最近的错误信息
sys.exc_clear()   


#返回平台独立的python文件安装的位置
sys.exec_prefix  


#错误输出
sys.stderr       


#标准输入
sys.stdin    


#标准输出
sys.stdout  


#返回操作系统平台名称
sys.platform    


#最大的Unicode值
sys.maxunicode   


#最大的Int值
sys.maxint     


#呼叫func(*args),同时启用跟踪。跟踪状态被保存,然后恢复。
#这是从调试器从检查点调用,以递归调试其他一些代码。
sys.call_tracing(func,args ) 


#清除内部类型缓存。类型缓存用于加速属性和方法查找
sys._clear_type_cache() 


#返回一个字典,将每个线程的标识符映射到调用该函数时该线程中当前活动的最顶层堆栈帧。
sys._current_frames() 


#指定Python DLL句柄的整数。
sys.dllhandle
 
#如果这是真的,Python将不会尝试在源模块的导入上编写.pyc或.pyo文件。
#此值最初设置为True或 False取决于-B命令行选项
#和 PYTHONDONTWRITEBYTECODE 环境变量,但您可以自己设置它来控制字节码文件的生成。
sys.dont_write_bytecode 


#获取检查间隔
sys.getcheckinterval()


#返回用于dlopen()调用的标志的当前值。标志常量在dl和DLFCN模块中定义。可用性:Unix。
sys.getdlopenflags() 


#返回对象的引用计数。返回的计数通常比您预期的高一个,因为它包含(临时)引用作为参数getrefcount()。
sys.getrefcount(对象)


#以字节为单位返回对象的大小。对象可以是任何类型的对象。所有内置对象都将返回正确的结果,但这不一定适用于第三方扩展,因为它是特定于实现的。
#如果给定,则如果对象未提供检索大小的方法,则将返回default。否则TypeError将被提出。
#如果对象由垃圾收集器管理,则调用该对象的方法并添加额外的垃圾收集器开销。
sys.getsizeof(对象[,默认] ) 


#从调用堆栈返回一个框架对象。如果给出了可选的整数深度,
#则返回堆栈顶部下方多次调用的帧对象。如果它比调用堆栈更深,
#ValueError则引发。深度的默认值为零,返回调用堆栈顶部的帧。
sys._getframe([ 深度] ) 


#获取设置的探查器功能setprofile()。
sys.getprofile() 


#获取设置的跟踪功能settrace()。
sys.gettrace() 


#返回一个描述当前正在运行的Windows版本的命名元组
sys.getwindowsversion()

看到这么多方法大家是不是已经哭晕在厕所里了了,不着急,

小编在这里先给大家一个练手的好案例让大家开开荤:

Python文件目录操作就是这么6

那么这个案例实现的是什么功能了,大致就是每隔一秒打印一个#,好像进度条一样的说。

在这里就用到标准输出流和输出流刷新了,也算是超级简单的进度条了。

sys里面有几个可以表示脚本当前路径的函数,可以说是非常强大了,比如说:

Python文件目录操作就是这么6

大家可以看到,后面两个结果相同,说明后面两个效果一样吗,那可不一定。

不信,你可以看看我接下来的操作,让你怀疑人生:

创建两个py文件,你懂的,然后分别键入代码:

#cg.py
import sys
def ff():
    print(sys.path[0],\':\',sys.argv[0],\':\',__file__)
     #sys.argv[0] 一般得到的是相对路径
ff()


#fd.py
import cg
cg.ff()
Python文件目录操作就是这么6

可以看到,最后的结果就是显然不一样了,那么这是什么原因产生的了,哦,

原来,在fd中导入cg执行的sys.argv[0]还是指的是运行的主文件fd.py,而file却输出的是cg.py.

顺便跟大家科普一下查看模块下有哪些方法的一个函数:dir()

Python文件目录操作就是这么6

所有的函数都打印出来了,当然,如果你想快速了解每个方法的用法,则可以使用help()函数:

Python文件目录操作就是这么6

可以说是很强大了。

接下来我们再来说说另一个非常牛逼的东西———os。

/OS/

一、文件操作(os直属常用方法)

# 关闭文件描述符 hw
os.close(hw)  


# 关闭所有文件描述符,从 hw1(包含) 到 hw2(不包含), 错误会忽略
os.closerange(hw1,hw2) 


# 通过文件描述符改变当前工作目录
os.fchdir(hw)      


# 改变一个文件的访问权限,该文件由参数hw指定,参数mode是Unix下的文件访问权限。
os.fchmod(hw, mode)    


# 修改一个文件的所有权,这个函数修改一个文件的用户ID和用户组ID,该文件由文件描述符hw指定。
os.fchown(hw, id1, id2) 


# 强制将文件写入磁盘,该文件由文件描述符hw指定,但是不强制更新文件的状态信息。
os.fdatasync(hw)      


#通过文件描述符hw 创建一个文件对象,并返回这个文件对象
os.fdopen(hw[, mode[, bufsize]])


#返回一个打开的文件的系统配置信息。name为检索的系统配置的值,
#它也许是一个定义系统值的字符串,这些名字在很多标准中指定(POSIX.1, Unix 95, Unix 98, 和其它)。
os.fpathconf(hw, name)         


#返回文件描述符hw的状态,像stat()。
os.fstat(hw)              


#返回包含文件描述符hw的文件的文件系统的信息,像 statvfs()
os.fstatvfs(hw)                


#强制将文件描述符为hw的文件写入硬盘。
os.fsync(hw)            


#裁剪文件描述符hw对应的文件, 所以它最大不能超过文件大小。
os.ftruncate(hw,length)    


#复制文件描述符hw
os.dup(hw)                     


# 将一个文件描述符hw复制到另一个hw1
os.dup2(hw,hw1)    


# 返回与终端hw(一个由os.open()返回的打开的文件描述符)关联的进程组
os.tcgetpgrp(hw)    


# 设置与终端hw(一个由os.open()返回的打开的文件描述符)关联的进程组为hw1。
os.tcsetpgrp(hw, hw1)  


# 返回唯一的路径名用于创建临时文件。
os.tempnam([dir[, prefix]])    


# 返回一个打开的模式为(w+b)的文件对象 .这文件对象没有文件夹入口,没有文件描述符,将会自动删除。
os.tmpfile()                   


# 为创建一个临时文件返回一个唯一的路径
os.tmpnam()                   


# 返回一个字符串,它表示与文件描述符hw 关联的终端设备。如果hw 没有与终端设备关联,则引发一个异常。
os.ttyname(hw)                


# 删除文件路径
os.unlink(path)     


# 返回指定的path文件的访问和修改的时间。
os.utime(path, times)         


# 输出在文件夹中的文件名通过在树中游走,向上或者向下。
os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])  


# 写入字符串到文件描述符hw中. 返回实际写入的字符串长度
os.write(hw, str)        


# 获取指定路径的文件系统统计信息
os.statvfs(path)              


# 返回当前工作目录
os.getcwd()        


# 返回一个当前工作目录的Unicode对象
os.getcwdu()                  


# 如果文件描述符hw是打开的,同时与tty(-like)设备相连,则返回true, 否则False。
os.isatty(hw)       


# 设置路径的标记为数字标记,类似 chflags(),但是没有软链接
os.lchflags(path, flags)   


# 修改连接文件权限
os.lchmod(path, mode)    


# 更改文件所有者,类似 chown,但是不追踪链接。
os.lchown(path, uid, gid)       


# 返回path指定的文件夹包含的文件或文件夹的名字的列表。
os.listdir(path)                


# 设置文件描述符 fd当前位置为pos, how方式修改: SEEK_SET 或者 0 
#设置从文件开始的计算的pos; SEEK_CUR或者 1 则从当前位置计算; 
#os.SEEK_END或者2则从文件尾部开始. 在unix,Windows中有效
os.lseek(fd, pos, how)          


# 打开一个文件,并且设置需要的打开选项,mode参数是可选的
os.open(file, flags[, mode])    


# 打开一个新的伪终端对。返回 pty 和 tty的文件描述符。
os.openpty()                    


# 返回相关文件的系统配置信息。
os.pathconf(path, name)        


# 用于分割文件路径的字符串
os.pathsep                      


# 获取当前目录的父目录字符串名:(\'..\')
os.pardir                       


# 创建一个管道. 返回一对文件描述符(r, w) 分别为读和写
os.pipe()                  


# 从一个 command 打开一个管道
os.popen(command[, mode[, bufsize]]) 


# 字符串指示当前使用平台。win->\'nt\'; Linux->\'posix\'
os.name                        


# 从文件描述符hw中读取最多n个字节,返回包含读取字节的字符串,
#文件描述符hw对应文件已达到结尾, 返回一个空字符串。
os.read(hw, n)                 


#返回路径所在的根目录,主目录主文件
os.walk(path)


#返回路径下的目录和文件
os.listdir(path)


#切换当前程序操作的路径
os.chdir(path)     


#重命名文件
os.rename(oldfile,newfile)

二、路径操作

#将文件路径和文件名分割(会将最后一个目录作为文件名而分离)
os.path.split(filename)


#将文件路径和文件扩展名分割成一个元组
os.path.splitext(filename) 


#返回文件路径的目录部分
os.path.dirname(filename) 


#返回文件路径的文件名部分
os.path.basename(filename) 


#将文件路径和文件名凑成完整文件路径
os.path.join(dirname,basename) 


#获得绝对路径
os.path.abspath(name) 


#把路径分割为挂载点和文件名
os.path.splitunc(path) 


#规范path字符串形式
os.path.normpath(path) 


#判断文件或目录是否存在
os.path.exists() 


#如果path是绝对路径,返回True
os.path.isabs() 


#返回path的真实路径
os.path.realpath(path)


#从start开始计算相对路径
os.path.relpath(path[, start])  


#转换path的大小写和斜杠
os.path.normcase(path) 


#判断name是不是一个目录,name不是目录就返回false
os.path.isdir() 


#判断name是不是一个文件,不存在返回false
os.path.isfile() 


#判断文件是否连接文件,返回boolean
os.path.islink() 


#指定路径是否存在且为一个挂载点,返回boolean
os.path.ismount() 


#是否相同路径的文件,返回boolean
os.path.samefile() 


#返回最近访问时间 浮点型
os.path.getatime() 


#返回上一次修改时间 浮点型
os.path.getmtime() 


#返回文件创建时间 浮点型
os.path.getctime() 


#返回文件大小 字节单位
os.path.getsize() 


#返回list(多个路径)中,所有path共有的最长的路径
os.path.commonprefix(list) 


#路径存在则返回True,路径损坏也返回True
os.path.lexists 


#把path中包含的”~”和”~user”转换成用户目录
os.path.expanduser(path) 


#根据环境变量的值替换path中包含的”$name”和”${name}”
os.path.expandvars(path) 


#判断fp1和fp2是否指向同一文件
os.path.sameopenfile(fp1, fp2) 


#判断stat tuple stat1和stat2是否指向同一个文件
os.path.samestat(stat1, stat2)


#一般用在windows下,返回驱动器名和路径组成的元组
os.path.splitdrive(path) 


#遍历path,给每个path执行一个函数
os.path.walk(path, visit, arg) 


#设置是否支持unicode路径名
os.path.supports_unicode_filenames() 

三、进程管理

# 创建一个软链接
os.symlink(src, dst)     


# 创建硬链接,名为参数 dst,指向参数 src
os.link(src, dst)               


# 像stat(),但是没有软链接
os.lstat(path)                  




# 运行shell命令,直接显示
os.system(\"bash command\")   


# 改变当前进程的根目录
os.chroot(path)    


#shell命令,不返回结果,但是可以进行读取
os.popen(command).read()


# 当前平台使用的行终止符,win下为\"tn\",Linux下为\"n\"
os.linesep       


#路径连接符
os.sep


#从原始的设备号中提取设备major号码 (使用stat中的st_dev或者st_rdev field)。
os.major(device)        


# 以major和minor设备号组成一个原始设备号
os.makedev(major, minor)        


# 递归文件夹创建函数。像mkdir(),但创建的所有intermediate-level文件夹需要包含子文件夹。
os.makedirs(path[, mode])     


# 从原始的设备号中提取设备minor号码(使用stat中的st_dev或者st_rdev field )。
os.minor(device)


# 以数字mode的mode创建一个名为path的文件夹.默认的 mode 是 0777 (八进制)。
os.mkdir(path[, mode])    


# 创建命名管道,mode 为数字,默认为 0666 (八进制)
os.mkfifo(path[, mode])        


# 创建一个名为filename文件系统节点(文件,设备特别文件或者命名pipe)。
os.mknod(filename[, mode=0600, device]) 

四、环境参数

#检验权限模式 
os.access(path, mode) 


# 设置路径的标记为数字标记。
os.chflags(path, flags)  


# 更改权限
os.chmod(path, mode)     


# 更改文件所有者
os.chown(path, uid, gid)       


#获得当前系统登陆用户名
os.getlogin()       


#获得当前系统的CPU数量
os.cpu_count()    


# 获得n个字节长度的随机字符串,通常用于加解密运算
os.urandom(n)           


# 获取系统所有环境变量
os.environ                     


#获取某个特定的环境变量的值
os.getenv(\'CYGWIN\')
os.environ.get(\'CYGWIN\')


#设置环境变量
os.environ.setdefault(key,value)


#获取某个特定的环境变量的值的byte形式
os.getenvb(\'CYGWIN\')

五、stat子库

#获取到的文件属性列表
fileStats = os.stat(path) 


#获取文件的模式
fileStats[stat.ST_MODE] 


#文件大小
fileStats[stat.ST_SIZE] 


#文件最后修改时间
fileStats[stat.ST_MTIME] 


#文件最后访问时间
fileStats[stat.ST_ATIME] 


#文件创建时间
fileStats[stat.ST_CTIME] 


#是否目录
stat.S_ISDIR(fileStats[stat.ST_MODE]) 


#是否一般文件
stat.S_ISREG(fileStats[stat.ST_MODE]) 


#是否连接文件
stat.S_ISLNK(fileStats[stat.ST_MODE]) 


#是否COCK文件
stat.S_ISSOCK(fileStats[stat.ST_MODE]) 


#是否命名管道
stat.S_ISFIFO(fileStats[stat.ST_MODE]) 


#是否块设备
stat.S_ISBLK(fileStats[stat.ST_MODE])


#是否字符设置
stat.S_ISCHR(fileStats[stat.ST_MODE])

6、一键死机

为什么要说这个呢?完全是为了好玩,哈哈哈。

我们都知道os 能很轻松打开一个程序,只要你知道这个源程序根目录的位置。

所以我们一般都会:

os.system(\'notepad\')  #打开记事本
os.system(\'start notepad\')#打开记事本

这样可以很轻松打开一个记事本,那么我们要想让它无限打开。我给它整个死循环,给它个无限递归不就完了。是不是很简单了?

还有一种比较优雅的打开程序的方法,那就是popen方法:

pp=os.popen(\'notebook\')

不仅如此,我们还能看到它执行结果后的返回值。

print(pp.read())
Python文件目录操作就是这么6

哈哈,也是很666了。

/小结/

1、本文基于Python编程语言,主要介绍了Python操作文件目录的两个大库sys和os,在实际应用中十分的常用,希望大家了解。本文内容十分丰富,欢迎大家积极学习。

2、结合部分实际案例,图文并茂,帮助大家更好的理解文件操作。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年5月11日 下午5:11
下一篇 2022年5月11日 下午5:12

相关推荐

  • 广告营销方式有哪几种,广告营销案例分析

    再营销广告是一种针对潜在客户,特别是曾经访问过网站、浏览过主页的用户,根据其在线行为投放广告的一种广告形式。换句话说,再营销广告可以将社交媒体上的“橱窗浏览者”转变为真正的购买客户。 研究表明,大约98%的访客在访问商店或网站时不会产生购买行为。 (数据来源于statista-2018Q4美国在线购物者的转换率) 再营销广告便是针对这98%的访客进行的,通过再营销广告,商家可以将他们变成客户,电子…

    2022年8月6日
    1090
  • 兰芝气垫怎么样(上脸实测这款气垫的控油效果最好)

    兰芝双层气垫是兰芝今年新出的一款气垫,这款气垫和市场上的其他气垫都不同,这款是双重功能,创新的设计让大家能感受到不同的体验,下面小编带大家来看一下兰芝双层气垫好用吗? 兰芝双层气垫好用吗 兰芝家新出的一款气垫BB霜,左边遮瑕,右边气垫的设计太讨人喜欢了,玫瑰金蛋饼设计不仅萌,性价比非常高,主打的是遮瑕,但是它的补水保湿效果也不差,亲自给大家测试一下。 1、遮瑕力 在手臂上浅浅的涂了一层,基本能够淡…

    2022年9月26日
    440
  • 二类医疗器械许可证怎么办理,许可证经营范围及办理流程

    我们都知道一次性医用口罩属于医疗器械中的一种,但医疗器械又分了一类、二类、三类,不同种类医疗器械经营资质也不同。一次性医用口罩属于第二类医疗器械,为了保障医疗器械使用的安全性和有效性,生产一次性医用口罩的企业需申请办理二类医疗器械生产许可证,而经营销售一次性医用口罩的企业则申请办理二类医疗器械经营备案证明即可。 根据相关规定,二类医疗器械生产许可证和二类医疗器械经营备案需由各地辖区食药监管部门负责…

    2022年8月11日
    1160
  • 什么牌子的连衣裙好,这6个小众品牌连衣裙简直美出天际

    女孩子们的浪漫夏日,除了空调、冰淇淋、凉拖,还要有各种小裙子的加持,才更完美呀~ 但问题又来了,五花八门的裙子实在太多了,款式、颜色多到挑花眼,找到一条自己心仪的裙子犹如大海捞针般艰难…… 今天本搭配小能手,就是来帮你们解决问题滴,顺便我还会分享下我平时买裙子的一些小心得 今天是连衣裙专场,给姐妹们分享几条我入手的且试过觉得还不错的连衣裙~ 就比如这条吊带连衣裙,我第一眼看到它就爱上了!再…

    2022年10月13日
    1350
  • 三校生是什么意思,一文带你快速了解三校生含义

    在高考升学过程中会出现这样一批不同的人,他们有一个名字叫做“三校生”,究竟什么是三校生,三校生与普高生有什么区别呢? 一、什么是三校生 1.三校生,是中专、职校、技校的学生,是学习专业技能,不是成人教育,三校生和高中生的文凭是同等学历,三校生毕业以后可以参加工作,也可以参加三校生的单考单招考试,考取大专或高职院校。然后再进行专升本的考试。也可以参加普通高考,享受和高中生一样的待遇。 2.三校生即来…

    2022年9月24日
    400
  • excel怎么做折线图的数据,手把手教你如何制作折线图数据

    在年中汇报中,数据汇报一定是少不了的一环! 这个时候Excel里的「折线图」可就得派上大用场啦~ 毕竟没有领导喜欢看一堆又一堆的数字…… 常规的数据汇报中,我们需要: 回顾上半年的销量情况, 预测下半年的销量走势, 有时还要凸显最大值或最小值! 而这些,折线图都能帮我们做到~ 通过线条的虚实和数据点颜色的变化,我们就能轻松在同一条折线上体现: 上半年实际完成值——蓝色实线; 下半年预测完成值——蓝…

    2022年9月10日
    2260
  • 苹果x上市价格多少(苹果手机即将上市新款)

    从发布会上面可以看到,iPhoneX被苹果称为“十年巨作”,而官网的宣传文案也是十分简单粗暴,直接讲“hallo未来”,似乎iPhoneX要影响未来手机行业的发展。到底这台手机有什么神奇的地方,现在为大家带来简单的上手评测。 硬件配置 苹果iPhoneX参数表CPU六核A11ROM64/256GB屏幕5.8英寸2436×1125分辨率P3色域625尼特摄像头前:700万像素、F/2.2、人像模式后…

    2022年5月13日
    970
  • 怎样提升关键词排名,关键词整站快速排名技巧

    石家庄seo培训认为必须每天关注最新文章的长尾关键词排名情况。 今天,小小课堂网为大家带来的是快速查询长尾关键词排名的方法。希望对大家有所帮助。 石家庄seo培训方法一:写入首页meta标签 如果将长尾关键词写入首页meta标签的keywords,直接就可以用爱站网或站长之家查询首页排名即可。 好处就是方便,后期也便于统计排名情况,坏处就是可能导致每次查询关键词情况都好久。 石家庄SEO培训告诉你…

    2022年7月8日
    570
  • win10装机必备软件有哪些,7款装机必备靠谱软件推荐

    今天小编又来大家种草Windows10必备软件,今天向大家推荐的软件比较冷门,很小众。但是他的功能和实用程度绝对不亚于那些热门软件,其实冷门软件也很良心! 任务栏透明化:TranslucentTB 这是一个电脑插件可以让你的Windows底部的菜单栏变得模糊,根据自己的设置,也可以进将它变为透明的! 优质开源启动器:WOX WOX这是一款非常快捷的启动器,类似于Mac系统的Alfred。他可以直接…

    2022年8月30日
    480
  • 智能电视排名前十名的有哪些,目前口碑最好的电视机推荐

    中商情报网讯:据统计局最新数据显示,2018年1-11月份,全国网上额80689亿元,同比增长24.1%。其中,实物商品网上零售额62710亿元,增长25.4%。 由于受双十一大促销的驱动,2018年11月,全国网络零售总额突破万亿,零售量逼近300亿件。家用电器、手机数码、电脑办公、家居家装、服装服饰、个护化妆等多个行业月环比实现大幅上涨。 具体从智能电视络零售情况来看,2018年9月智能电视网…

    2022年8月21日
    640

发表回复

登录后才能评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信