当前位置: 首页 > news >正文

莒县做网站番禺网站

莒县做网站,番禺网站,新手怎么做网站打理,万荣网站seo一、同一文件夹下的调用 1.调用函数 A.py文件如下#xff1a; def add(x,y):print(和为#xff1a;%d%(xy))在B.py文件中调用A.py的add函数如下#xff1a; import A A.add(1,2)或 from A import add add(1,2)2.调用类 A.py文件如下#xff1a; class Add:def __ini…一、同一文件夹下的调用 1.调用函数 A.py文件如下 def add(x,y):print(和为%d%(xy))在B.py文件中调用A.py的add函数如下 import A A.add(1,2)或 from A import add add(1,2)2.调用类 A.py文件如下 class Add:def __init__(self,xx,yy):self.xxxself.yyydef add(self):print(x和y的和为%d%(self.xself.y))在B.py文件调用A.py文件的add函数如下 # 第一种方法 from A import Add # 从程序A.py中输入Add()类 a Add(3,5) # 对Add()类进行实例化 a.add() # 调用类中的方法也就是函数 # 第二种方法 import A # 输入程序A.py a A.Add(3,5) # 对A中的Add()类进行实例化 a.add() # 调用类中的方法也就是函数二、在不同文件夹下调用 A.py文件的文件路径为C:\AmyPython\Test1 B.py中调用A.py文件 import sys sys.path.append(rC:\AmyPython\Test1) #python import模块时是在sys.path里按顺序查找的。 #sys.path是一个列表里面以字符串的形式存储了许多路径。 #使用A.py文件中的函数需要先将他的文件路径放到sys.path中 import A aA.A(2,3) a.add()还有一种方法是创建 __init__.py 文件参考文章【更为推荐感觉比添加路径的方式更好】 如果这文件不在一个路径下面import就比较麻烦了需要在被import的文件路径下面新建一个__init__.py文件光创建就行不需要往里面添加内容。 比如被import的文件路径是…A/b.py下面那么只要在文件夹A下面分别新建一个__init__.py文件然后按照下面的语句引用即可 import A.b进一步说明 现在文件结构是这样的 root | |--A文件夹 | |--main.py | |--B文件夹|--b.py现在主程序在A文件夹里想调用B文件夹下的b.py文件该怎么办呢 本来以为只需要在a.py中写上 sys.path.append(../B) import b as bb但实际会报错说 No module named ‘b’         ps. 这种直接添加相对路径的方式在Jupyter中就没有报错不知道什么原因。         其实这个时候用 sys.path 来查看路径的话会发现确实添加进来了但添加进来的是一个相对路径所以添加路径的时候相对路径的参考地址不是当前文件而是python根目录。 关于这个问题解决方法有3个 1、添加绝对路径 sys.path.append(/home/gxp/Documents/B)2、用拼接路径的方式添加绝对路径本质和1相同 sys.path.append(os.path.join(os.path.dirname(__file__),../B))这里join是连接两个路径__file__是代表当前文件dirname返回文件夹的绝对路径。所以这里添加的路径本质上是/home/gxp/Documents/A/../B也就是说sys.path.append(/home/gxp/Documents/B)和sys.path.append(/home/gxp/Documents/A/../B)的效果是一样的。 3、采用相对引用或其他方法 这种做法存在不少问题有些到最后也没整明白。 这种做法和上面说的创建 __init__.py 文件的方法似乎是一样的但这里发现没添加这个文件似乎也正常运行了。 考虑如下文档结构主程序为 b1.py 或者 main.py。 如果是main.py 的话会好说很多因为它在根目录下直接 import B.b就可以。         但如果是b1.py的话可以采用相对导入的方式可参考文章 Python的绝对引用 vs 相对引用全面讲解但是自己在用的时候会报错就像下面这种方式是不能正常运行的会报错说ImportError: attempted relative import with no known parent package。 这似乎是非常非常普遍的问题但也似乎没有统一的解决方案。 好像在Pycharm中间接引用就不会出问题所以可能是VSCode的原因         但不管怎么说间接引用其实不是一种很推荐的方式就像全局变量一样程序大了容易乱。         尤其是如果各个子文件夹中的模块还存在互相调用的话那写起来真的就是乱七八糟了。 import sys from pathlib import Path sys.path[0] str(Path(sys.path[0]).parent.parent) # 将工作目录改为项目根目录这里每一个.parent就是向上翻一级sys.path[0]就是当前目录from B.B1 import b2 as b2 b2.b2()这样一来虽然主程序在一个子文件夹下但工作目录却是根目录。所以可以像 main.py 那样通过 B.B1来解决。不过这种情况下如果各个子文件夹下的模块存在相互调用的话也都需要在 import 时做好设置也有些麻烦但也不是不可以。 所以整来整去比较好的解决方案还是 1、主程序不要放在子文件夹下放在根目录下然后用 import B.B1.b2的方式比较好。 2、如果主程序放在子文件夹下一种方案是添加路径这种方案的好处是可复用性好但坏处是没有自动提示而且有不识别模块的警告另一种方案就是把工作目录更改到根目录下这种方案的好处是有自动提示写起来舒服坏处是如果各个子文件夹内存在相互调用的话复用性会受影响。自己还是更倾向于第二种方案大多数人的程序其实也都有子文件夹内模块相互调用其实问题不大 三、运行另一个.py文件 参考文章 https://blog.csdn.net/heart_arsonists/article/details/106988694 3.1 同一目录下 import os os.system(python filename.py)3.2 不同目录下 如果按照上面的方法会报错 error sh: /Users//Desktop/.py: Permission denied 正确方式为 import os os.system({} {}.format(python,loc)) # 或者是 os.system(python {}.format(loc))这里的loc为字符串用相对路径即可。 但这样并不能把运行的文件得到的变量输出出来如果想把结果输出出来并进一步运算参考文章所采用的方法是 # 所采用的方法如下 # from 变量所在文件名 import 变量名import os # os.system({} {}.format(python,A/main.py)) os.system(python {}.format(A/main.py))from A.main import c # 如果在同一目录下则直接 from main import c 即可 d c1 print(d,d)参考python调用另一个.py文件中的类和函数或直接运行另一个.py文件
http://www.dnsts.com.cn/news/25719.html

相关文章:

  • 营销型网站有哪些app个人博客网站怎么做
  • 商城网站的建设定位wordpress数组遍历
  • 建设一个电商网站的流程wordpress产品属性搭配
  • 西部数码 空间做2个网站域名过户流程
  • 河北建设厅官方网站八大员考试科技成就
  • 盐城最专业网站建设网站排名优化企业营销型网站建设规划
  • 查询网站whois如果网站被攻击了
  • 做电商网站搭建就业岗位做网站一年赚多少钱
  • 百度怎么搜索到自己的网站全景网站怎么做
  • 文化体育局网站建设计算机网站建设与开发
  • 百度搜索指数排行北京seo关键词排名优化
  • 深圳做网站便宜郴州网站建设案例
  • 昆明做网站推网站外包 多少钱
  • 网站开发系统毕业综合实践报告wordpress更新域名
  • 沈阳做网站哪家最便宜广告投放平台投放
  • 德州网站推广怎么做网站优化 sit
  • 厦门市海沧区建设局网站WordPress开通用户投稿功能
  • 关于网站制作的论文宽带营销案例100例
  • 网站开发费用网站编程学习
  • 网站有了订单邮箱提醒代码手机制作图片
  • 网站推广策划的策略wordpress好用
  • 事件网站推广永嘉网站建设工作室
  • 做实体店优惠券的网站dw制作网页的代码
  • 汕头专业网站建设公司前端网站主题怎么做
  • 网站建设的公司哪家好福州网站运营
  • 建手机版网站品牌建设
  • 传媒网站建设方案网站维护 英语
  • 自己做服务器的网站吗网站建设资源kindle
  • 长沙精品网站建设公司威县网站建设代理价格
  • 广东省建设交易中心网站沈阳建设工程信息网 最佳中项网