文件对象python
❶ python里怎么样判断文件名和文件实例对象
python是一个动态类型的语言,这意味着任何一个给出的变量会随着不同的场合是不同的类型,比如下面的例子中的变量,可以是整数、浮点数、或者字符串类型:
def function(value):
print(value)
function(1)
function(1.0)
function("one")
这时可以使用type()函数来检查变量的类型,如下面的例子:
# File: builtin-type-example-1.py
def mp(value):
print(type(value), value)
mp(1)
mp(1.0)
mp("one")
输出结果如下:
==== RESTART: D:/work/csdn/python_Game1/example/builtin-type-example-1.py ====
<class 'int'> 1
<class 'float'> 1.0
<class 'str'> one
>>>
因此可以使用type()函数来判断一个变量是什么类型,这里就可以用来判断变量是字符串类型,还是文件对象,如下:
# File: builtin-type-example-2.py
def load(file):
if isinstance(file, type("")):
file = open(file, "rb")
return file.read()
print(len(load("builtin-type-example-2.py")), "bytes")
print(len(load(open("builtin-type-example-2.py", "rb"))), "bytes")
输出结果如下:
==== RESTART: D:/work/csdn/python_Game1/example/builtin-type-example-2.py ====
273 bytes
273 bytes
>>>
在这一行代码:
isinstance(file, type(""))
判断是否为字符串变量。
❷ Python的文件对象问题
从python语法说吧。。。
fo 是一个变量。变量存储在内存中的值。
open() 是一个系统函数,每次执行,不出错的话,会返回值是一个“文件对象”。
fo = xx 是一个赋值语句。将 xx 赋值给变量 fo。
fo=open(“file.txt”,”wb”)
就是 通过 open 返回 “文件对象”,并且通过赋值语句赋值给变量 "fo"。
这样说清楚了吗?
另外,
fo 可以换成任何合法的变量名。(详见python 变量 一节)
Python 变量类型
文件对象不同的原因。应该是对象里面存储的数据(属性)不同。比如 fo.name 不同。(类的属性,详见“类和对象”一节。看对象)
Python 面向对象
❸ python 在读写文件之前,必须通过以下哪个方法创建文件对象
使用open打开文件后一定要记得调用文件对象的close()方法。比如可以用try/finally语句来确保最后能关闭文件。
file_object = open('thefile.txt')
try:
all_the_text = file_object.read( )
finally:
file_object.close( )
注:不能把open语句放在try块里,因为当打开文件出现异常时,文件对象file_object无法执行close()方法。
❹ 如何给 Python 文件指针(文件对象)增加方法
这么写当然不对,你的__init__里都没调用_io.TextIOWrapper的__init__。按照你的描述你需要的只是一个文件api的wrapper,写成下面这样不是更容易么?
class myfo():
....def __init__(self,fname,mod='r'):
........self.fp=open(fname,mod)
....def nl(self,k=1):
........self.fp.write('a'*k)
........self.fp.close()
>>> fo=myfo('test.txt','w')
>>> fo.nl(3)
❺ python file对象可以遍历吗
file不可以,不过readline方法返回是行迭代器
❻ Python中的文件对象是什么概念 和对象有什么区别
Python一切皆对象。 文件对象是对象的一种。
❼ Python用file对象和open方法处理文件的区别
file是一个类,而用open函数打开后是返回一个file对象。
file1 = file("aa.txt")
file2 = open("aa.txt")#这个时候返回的是跟file1一样的对象,都可以对aa.txt进行读取,修改。
暂时发现貌似没多大区别,习惯上喜欢用open。
❽ Python 文件对象继承问题
TextIOWrapper要求的参数buffer是bytes,'r'打开的是str而不是bytes当然会出错。
fo.read和fo1.read都是一个方法而已,它们的type当然会相同,那type(fo.read) is type(fo.write)是不是更令你困惑了。。。
另外,你的这个问题和继承没啥关系吧,完全是概念问题。。
❾ python return文件对象
deffoo1(filename):
fileobj=open(filename)
returnfileobj
这样写更通用一些,不过这个方法比较简单,没有必要封装成函数。
如果解决了您的问题请采纳!
如果未解决请继续追问
❿ python文件对象自动关闭
“=”为赋值表达式,python里面都是对象,比如a=1,a就是“1”这个对象的引用,通过引用操作对象,that's all!