python导入自己的文件 菜鸟教程python在线编程
今天给各位分享python导入自己的文件的知识,其中也会对菜鸟教程python在线编程进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
Python怎么导入文件
Python的import包含文件功能就跟PHP的include类似,但更确切的说应该更像是PHP中的require,因为Python里的import只要目标不存在就报错程序无法往下执行。要包含目录里的文件,PHP中只需要给对路径就OK。Python中则不同,下面来看看这个例子。
目录结构:
a.py要 import dir目录下的 b.py文件。a.py代码如下:
复制代码代码如下:
# coding=utf-8
"import dir目录下的 b.py文件"
import dir.b
print dir.b.name
执行 a.py报错
提示找不到这个模块的名字 dir.b。通过查找官方文档,发现要包含目录下的文件时需要在目录下声明一个__init__.py文件,即使这个文件是空的也可以。当然这个文件也可以初始一些数据。
于是在 dir下新建 __init__.py文件,目录结构如下:
重新执行a.py,一切OK!
怎么从python引入自己的模块
1.如果导入的模块和主程序在同个目录下,直接import就行了
2.如果导入的模块是在主程序所在目录的子目录下,可以在子目录中增加一个空白的__init__.py文件,该文件使得python解释器将子目录整个也当成一个模块,然后直接通过“import子目录.模块”导入即可。
3.如果导入的模块是在主程序所在目录的父目录下,则要通过修改path来解决,有两种方法:
(1)通过”import sys,sys.path.append('父目录的路径')“来改变,这种方法属于一次性的,只对当前的python解释器进程有效,关掉python重启后就失效了。
(2)直接修改环境变量:在windows中是“ set变量=‘路径’”例如:set PYTHONPATH=‘C:\test\...’查看是否设置成功用echo%PYTHONPATH%,而且进到python解释器中查看sys.path,会发现已经有了新增加的路径了。这种方式是永久的,一次设置以后一直都有效。在linux中是"export变量=‘路径’“,查看是" echo$变量"
通过修改path是通用的方法,因为python解释器就是通过sys.path去一个地方一个地方的寻找模块的。
python怎么将读出来的文件放到列表
csv文件的读取:
前期工作:在定义的py文件里边创建一个excel文件,并另存为csv文件,放入三行数据,我这里是姓名+年龄(可以自己随意写)
首先我们要在python环境里导入csv板块(测试小白的我喜欢用pycharm)
然后我们定义一个csv文件的变量csv_file,然后通过open对此文件进行打开,打开模式采用‘r’(read:读模式),这里不懂的各位小白白可以百度下文件的访问模式
如下图所示:
图中打印出来的csv_file只是一个对象的模型(如图中的1),我们需要对这个模型进行遍历打印,通过打印我们可以清晰的看到我们打印的数据
csv文件的写入:
通过上面我们可以对csv的文件进行了读取,各位小白们有没有感觉很简单呢(我当时乐开花了),下面我们就讲一下csv的读取
在开始前我们要定义两组数据,进行下面的写入
stu1= ['marry',26]
stu2= ['bob',23]
1.写入的第一步同样也是打开文件,因为我们是要写入,所以我们用的模式就是'a'模式,追加内容,至于"newline="就是说因为我们的csv文件的类型,如果不加这个东西,当我们写入东西的时候,就会出现空行,这个大家可以尝试着不加试试一下,也可以"老乌龟的屁股"(规定)
out= open('Stu_csv.csv','a', newline='')
2.下面我们定义一个变量进行写入,将刚才的文件变量传进来,dialect就是定义一下文件的类型,我们定义为excel类型
csv_write= csv.writer(out,dialect='excel')
3.然后进行数据的写入啦,啦啦啦,终于要结束了,写入的方法是writerow,通过写入模式对象,调用方法进行写入
csv_write.writerow(stu1)
csv_write.writerow(stu2)
4.最后各位小白可以用你们最熟悉的一句语法进行漂亮的收尾,66666
print("write over")
具体的代码如下:
import csv
#csv写入
stu1= ['marry',26]
stu2= ['bob',23]
#打开文件,追加a
out= open('Stu_csv.csv','a', newline='')
#设定写入模式
csv_write= csv.writer(out,dialect='excel')
#写入具体内容
csv_write.writerow(stu1)
csv_write.writerow(stu2)
print("write over")
执行结果:
啦啦啦,开不开心,刺不刺激,纯小白内容,谢谢大家的阅读,欢迎留言交流,不要忘记我,我就是宇宙无敌的python小白白!
好了,文章到此结束,希望可以帮助到大家。