sys

sys

  • sys是python自带模块,提供了一系列有关python运行环境的变量和函数的模块

  • 当执行import sys 后,python在sys.path变量中所列目录中寻找sys模块文件。然后运行这个模块的主块中的语句进行初始化,然后就可以使用模块了。

  • 使用dir()查看sys模块中可用方法

    import sys
    print(dir(sys))
    
  • sys.platform 用于获取当前系统平台

    print(sys.platform)
    # 得:win32
    
  • sys.getdefaultencoding() 获取系统当前编码

    print(sys.getdefaultencoding())
    #得utf-8
    
  • sys.getfilesystemencoding()获取文件系统使用的编码方式

    print(sys.getfilesystemencoding())
    #得utf-8
    
  • sys.path获取指定模块搜索路径的字符串列表,可以将写好的模块放在得到的某个路径下,就可以在import时正确找到

    print(sys.path)
    
  • sys.modules查看已经加载到内存中的所有模块

print(sys.modules)
  • sys.argv从程序外部获取参数的桥梁

    • 在命令行执行python模块(脚本)的命令 : python + 模块路径

    • sys.argv可以看作是一个列表,列表里面的元素可以是多个,第一个是元素本身,随后依次才是外部给予的参数

      • 模块内

      • 命令行内

    • sys.argv[0]:所获取的第一个元素是程序本身

      • 模块内

      • 命令行运行后

    • sys.argv[1]获取的是第一个参数 sys.argv[2]获取的是第二个参数,依次类推

      • 模块内

      • 命令行内

    • 小练习

      • cp: 拷贝文件
      • rm: 删除
      • rename: 重命名
      # python 当前文件路径(xxx.py) 用户名 密码  cp 要拷贝的文件路径  目的地址
      # print(len(sys.argv))
      #cp:拷贝文件
      #rm:删除
      # rename: 重命名
      if len(sys.argv)>=5:
          if sys.argv[1]=='minmin' and sys.argv[2]=='xiaokeai':
              print('登陆成功!')
              if sys.argv[3]=='cp' and len(sys.argv)==6:   #cp 拷贝文件
                  if os.path.exists(sys.argv[4]) and os.path.exists(sys.argv[5]):  #os.path.exists判断目录是否存在
                      filename=os.path.basename(sys.argv[4])    #获取要拷贝的文件名
                      path=os.path.join(sys.argv[5],filename)   #拼接目的地址的路径和要拷贝的文件名
                      shutil.copy(sys.argv[4],path)   #进行拷贝
                      print('拷贝成功!')
                  else:
                      print('路径错误!')
              elif sys.argv[3]=='rm' and len(sys.argv)==5:
                  if os.path.exists(sys.argv[4]):
                      if os.path.isfile(sys.argv[4]):
                          os.remove(sys.argv[4])
                          print('删除成功!')
                      else:
                          shutil.rmtree(sys.argv[4])
                          print('删除成功!')
              elif sys.argv[3]=='rename' and len(sys.argv)==6:
                  if os.path.exists(sys.argv[4]):
                      if os.path.isfile(sys.argv[4]):
                          os.rename(sys.argv[4],sys.argv[5])
                          print('文件重命名成功!')
                      else:
                          shutil.move(sys.argv[4],sys.argv[5])  # shutil.move把问价移动到新的目录(也可以用来文件夹的重命名)
                          print('文件夹重命名成功!')
          else:
              print('输入错误,登录失败!')
      else:
          print('你输入的命令无效!')
      

json、pickle模块

posted @ 2021-06-04 18:59  刘家小仙女  阅读(772)  评论(0编辑  收藏  举报