学习python os commands socket模块 导包错误解决办法

import os     #os模块主要是和路径有关系 
#自己在本地调试的时候,代码能跑通,但是到服务器上代码跑不通,一般都是导包的原因
  解决办法:把项目的根目录写到 sys.path 中。但是项目的根目录本地和服务器又不一致。所以可以使用os.path.dirname()一步一步往上推出项目的根目录
--project
  --a
    --e 此时e想调用b目录先的c 就在e.py文件写入 path = os.path.dirname(os.path.dirname('.')) ==>project的绝对路径了不用管本地和服务器的差别了 然后将project 添加到sys.path.append(path)
         直接使用 from b.c import name
  --b
    --c
  


os.path.dirname('.') 获取当前文件的路径
print(os.getcwd()) #获取当前路径, 导包也是从这个路径下面才能找到 # os.chdir(
'./..') #返回上一级路径,再获取路径看看 # print(os.getcwd()) # os.curdir('.') # os.makedirs(r'a/b/c') #创建多层文件夹 # os.mkdir(r'g') #创建单一文件夹 # os.removedirs(r'g/b/n') #删除多层, # os.rmdir('g') #删除一个文件夹 os.system('vis a') #直接运行 命令,并且打印出来.命令失败了 不如commands 他是基于os的

os.system('cd .. && ls ') #多个命令一起执行需要 && 不能拆开写这个

commands模块是python的内置模块,共有三个函数,使用help(commands)可以查到
  commands.getstatusoutput(cmd)返回一个元组(status,output)

status代表的shell命令的返回状态,如果成功的话是0;
output是shell的返回的结果

import commands
status, output = commands.getstatusoutput("ls")
print status # 0
print output 



posted @ 2019-11-21 15:18  Tarzen  阅读(216)  评论(0编辑  收藏  举报