Ⅰ python如何调用另一个py文件的所有函数
在同一个文件夹下调用函数:A.py文件需要调用B.py文件中的函数,直接使用import B即可。
调用类:在A.py文件中定义了一个名为B的类,需要在A.py文件中import B类。
在不同文件夹下:假设A.py文件位于E:\PythonProject\winycg,B.py文件位于E:\PythonProject\winycg\preprocess,需要在A.py中写入import preprocess.B,或者在预设路径中添加E:\PythonProject\winycg,使用import B。
对于无法正确找到其他文件夹下文件路径的问题,可以采取以下几种解决办法:
方法一:当Python版本为3.5,使用pycharm工作区间。如果主文件(main_preprocess.py)需要使用split_by_date.py中的函数,且这两个文件位于同一个大文件夹下,其中split_by_date在preprocess文件夹下,可以在main_preprocess.py文件中写入import preprocess.split_by_date。
方法二:如果文件位于不同文件夹下,如application/app/folder/file.py想在application/app2/some_folder/some_file.py中应用file.py,可以在some_file.py中写入import application.app.folder.file。
方法三:此方法要求目标文件夹(需要调用的文件夹)包含__init__.py文件,如果未包含,可以新建一个。
方法四:此方法适用于Python3在Linux系统上,可以使用sys.path.append()方法添加目标文件夹路径。
方法五:当文件位于平行路径下,如application/app2/some_folder/some_file.py与application/app2/another_folder/another_file.py,可以在其中一个文件中通过import语句导入另一个文件中的函数或类。
以上方法可以根据实际情况选择使用,确保Python能够正确识别和调用所需的文件和函数。
Ⅱ .py文件是什么
.py文件是python的脚本文件。
Python在执行时,首先会将.py文件中的源代码编译成Python的byte code(字节码),然后再由Python Virtual Machine(Python虚拟机)来执行这些编译好的byte code。这种机制的基本思想跟Java,.NET是一致的。
然而,Python Virtual Machine与Java或.NET的Virtual Machine不同的是,Python的Virtual Machine是一种更高级的Virtual Machine。
这里的高级并不是通常意义上的高级,不是说Python的Virtual Machine比Java或.NET的功能更强大,而是说和Java 或.NET相比,Python的Virtual Machine距离真实机器的距离更远。
或者可以这么说,Python的Virtual Machine是一种抽象层次更高的Virtual Machine。基于C的Python编译出的字节码文件,通常是.pyc格式。
(2)一个py文件多个函数扩展阅读:
python的优点:
1、简单:Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。
2、易学:Python极其容易上手,因为Python有极其简单的说明文档。
3、速度快:Python 的底层是用 C 语言写的,很多标准库和第三方库也都是用 C 写的,运行速度非常快。
4、免费、开源:Python是FLOSS(自由/开放源码软件)之一。使用者可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。
5、高层语言:用Python语言编写程序的时候无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
6、可移植性:由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。
7、解释性:一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。
运行程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行 程序。
在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。这使得使用Python更加简单。也使得Python程序更加易于移植。
8、面向对象:Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。
9、可扩展性:如果需要一段关键代码运行得更快或者希望某些算法不公开,可以部分程序用C或C++编写,然后在Python程序中使用它们。
10、可嵌入性:可以把Python嵌入C/C++程序,从而向程序用户提供脚本功能。
11、丰富的库:Python标准库确实很庞大。它可以帮助处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。
12、规范的代码:Python采用强制缩进的方式使得代码具有较好可读性。而Python语言写的程序不需要编译成二进制代码。