python中 from 文件名 import 自定义函数 在dos窗口中执行时会对 文件名报错。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中 from 文件名 import 自定义函数 在dos窗口中执行时会对 文件名报错。相关的知识,希望对你有一定的参考价值。

文件名如图所示为new26

参考技术A new26.py里有非英文跟数字的字符(主要是中文),而python不知道怎么去解释它。

简单的解决办法就是把new26.py里的中文都删了。不然就要根据文本文件的编码来在py文件头部加上coding:魔术字符串

检查一下你是不是有些符号是用中文输入法打的。追问

再问一下,有时候用DOS调用函数能运行,调用下一个的时候不能运行,重启DOS窗口后再用同样的命令又可以运行了,这是DOS窗口的问题?有的时候该一下文件名也能运行,可是上一个文件名也就是字母数字下划线,没有非法字符啊,求大神再指导。

追答

追问的问题描述的很模糊呢。我也不知道是什么情况呢。

本回答被提问者采纳

Python中import和from

客户端可以执行import或from语句。如果模块还没有加载,这两个语句会去搜索、编译以及执行模块文件程序。主要差别在于,import会读取整个模块,所以必须进行定义后才能读取它的变量名;from将获取(或者是复制)模块特定的变量名。

  import使一个变量名引用整个模块对象,因此必须通过模块名称来得到该模块的属性(例如,module1.printer)。而from会把变量名复制到另一个作用域,所以它就可以直接在脚本中使用复制后的变量名,而不用通过模块(例如,printer)。

  from语句有破坏命名空间的潜质。如果使用from导入变量,而那些变量碰巧和作用域中现有变量重名,变量就会被悄悄的覆盖掉。使用import语句时就不存在这种问题,因为必须通过模块名才能获取其内容。不过,使用from时,只要你了解并预料到可能发生这种事,在实际情况下这就不是一个大问题了,尤其是当你明确列出导入变量名时(例如,from module import x, y, z)。

  另一方面,和reload调用同时使用时,from语句有比较严重的问题,因为导入的变量名可能引用之前版本的对象。再者,from module import *形式的确可能破坏命名空间,让变量名难以理解,尤其是在导入一个以上的文件时。

  比较务实的建议是:简单的模块一般倾向于使用import,而不是from。多数的from语句是用于明确列举想要的变量,而且限制在每个文件中只用一次from *形式。这样一来,任何无定义的变量名都可以认为是存在于from *所引用的模块内。当你必须使用两个不同模块内定义的相同变量名变量时,才真的必须使用import,这种情况下不能使用from。

以上是关于python中 from 文件名 import 自定义函数 在dos窗口中执行时会对 文件名报错。的主要内容,如果未能解决你的问题,请参考以下文章

模块,循环导入

python导入自定义的库

Python中import和from......import的区别

Python的from import和import的区别

python中import和from...import区别

12.1模快