pythonopenwrite
⑴ python 中写文件write和write()的区别是啥
1、不带括号时,调用的是这个函数本身
2、带括号(此时必须传入需要的参数),调用的是函数的return结果
例如:
defa(x):
returnx
print(a)#不带括号调用的结果:<functionaat0x1091766a8>
print(a(3))#带括号调用的结果:3
⑵ python .write用不了
授人以鱼不如授人以渔,请更加注重我给你讲的分析问题的思路。
首先,你要想想问题可能出在哪,
file.write(txt),最多三个地方有问题:
第一种情况:file有问题:这种情况可能是你的file打开时,不是用的可写模式,
一般打开文件时有几种模式:
file=open('your_file_name.txt','r')--->可读模式
file=open('your_file_name.txt','w')--->可写模式
file=open('your_file_name.txt','w+')--->追加模式
...其他模式,自行网络一下
此时,你只需要改下你打开文件的模式就好,写文件用第二种
第二种情况:write的问题,因为它是一个内置的函数,所以,基本不会有问题
第三种情况:txt的问题
你的txt格式是否不是字符串,write貌似只能写出字符串,int这些都是无法写出,
例如:如果你要写出‘apple’,应该是file.write('apple'),注意引号
如果你前面有个txt=‘ABCDEFG’,应该是file.write(txt),此时没有引号,因为txt已经是字符串了
希望对你有用
⑶ python open函数中,write方法写入字符串为什么要3个单引号
3个引号里,书写文本可以自由换行,不需要自己拼接字符串。
⑷ 为什么XP系统Python3.4.4版本open()、write()无法打开文件读写
如果不用全路径则是相对路径,相对的是当前路径,当前路径是最开始启动进程的路径,比如说你的cmd默认路径是system32下面(待确认),在cmd里输入python xxx.py,当前路径是cmd的路径,并不是py的路径。如果你直接双击py文件运行,当前路径有有可能是py的路径了,但也说不定。
⑸ python makefile与open的区别
这段文字的意思是说python的socket模块中提供了makefile()方法,生成一个文件与socket对象关联,然后就跟读普通文件一样使用socket。(对普通文件有open,write等方法)
如下面这段示例代码:
importsocket,sys
port=70
host=sys.argv[1]
filename=sys.argv[2]
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect((host,port))
fd=s.makefile('rw',0)
fd.write(filename+" ")
forlineinfd.readlines():
sys.stdout.write(line)
⑹ python用open打开文件读写,“w”会替换,“a”多次调用函数会重复
print语句print [expression ("," expression)* [","]]print >> expression [("," expression)+ [","]][]表示可选项,*表示零次或多次重复,+表示至少一次重复。print是一种特殊的语句,它用于在stdout输出字符串。print有多种使用形式:print xprint x,yprint x,y,print >> object, x, y第1行是print的最普通的形式。第2行用print一次输出多个变量值,print会在变量之间自动加上一个"空格"。第3行与第2行的不同是在y的后面多了一个",",这个逗号用来阻止print在打印出x和y的值后,自动附加上一个“\n”字符。第4行,是一种输出重定向的形式,也就是说把x和y的值输出到object的write方法中,这同时也表明object必须有一个write方法。在python中,print语句其实只是一种简写形式,是下面这段程序的简写:import syssys.stdout.write(str(x) + '\n')上面这两行合起来就是“print x”这一句。可以看出,print是调用str()函数来产生字符串的,并且会在输出的字符串后加上一个'\n'字符。由于print实际是上调用了stdout的write方法。程序员也可以把stdout赋为别的值,从面实现print的输出重定向的功能。比如:import sysx="I'm here!"fp=file('log.txt','a')sys.stdout=fpprint x第4行改变了stdou的值,而且fp也是一个文件对象,有一个write方法。这一小段代码的功能是把print的输出全部以appand的模式写到了文件log.txt中。在第4行之后的print语句,都是这种功能。现在假设要恢复print输出到标准输出的功能,那么就需要让stdout重新指向标准输出,可以使用如下的方式:sys.stdout=sys.__stdout__在sys.__stdout__中保存有指向标准输出的信息,通过这行代码,print可以恢复为原来的功能。有时候要在这两种模式之间换来换去,一会要输出到文件中,一会要输出到标准输出中,通过改变sys.stdout的值可以实现,不过太麻烦,python提供了另外一种简便的print语句形式,来解决这种需求:print >> object,x,y能过>>这个符号,可以实现输出重定向到object,当然object必须有一个write方法。否则会出现AttributeError。注意,在这种print形式中,sys.stdout并没有改变,也就是说在这之后的print语句,具有的还是标准功能。虽然print语句实际上sys.stdou.write(),但sys模块的import工作并不需要程序员操心,python会自动处理。类似于print的输出,当用内置函数raw_input([prompt])进行读取操作时,实际上用的是sys.stdin.read()方法。也可以通过改变stdin的值来控制入操作。相应的也有一个sys.__stdin__用来保存标准输入的信息。
⑺ python write和writelines的区别
python write和writelines的区别:
1、file.write(str)的参数是一个字符串,就是你要写入文件的内容.
2、file.writelines(sequence)的参数是序列,比如列表,它会迭代帮你写入文件。
⑻ Python编程open函数追加写入模式权限被拒
文件没有写入权限,可以使用 chmod o+w ./result/_results.txt 来更改文件权限
⑼ python以'r+'模式open打开一个文件,然后.read该文件,再.write,为什么出现ioer
文件中的内容定位f.read()读取之后,文件指针到达文件的末尾,如果再来一次f.read()将会发现读取的是空内容,如果想再次读取全部内容,必须将定位指针移动到文件开始:
f.seek(0)这个函数的格式如下(单位是bytes):
f.seek(offset, from_what) from_what表示开始读取的位置,offset表示从from_what再移动一定量的距离。比如f.seek(10, 3)表示定位到第三个字符并再后移10个字符。from_what值为0时表示文件的开始,它也可以省略,缺省是0即文件开头。