关于python写入文件为空白的问题
import osos.chdir(r'C:\Users\Administrator\Desktop')
f=open('file1.txt','r')
f2=open('file2.txt','w')
for i in f:
i=list(str(i).strip())
i.reverse()
i=''.join(i)
f2.write(i+"\n")
print(i)
f.close()
代码是没问题的。
关键不在代码,为什么用IDLE运行后,file2文件为空白,如果直接运行该文件(命名为)“file.py” 则能看到file2有符合预期的内容。
这到底是什么原因,求解。 f2.close() BngThea 发表于 2019-5-17 12:32
f2.close()
呃呃这个是忘了,不过不是这方面的原因。直接运行py文件能有内容,用idle打开run的话,file2是空白文档。 本帖最后由 jackz007 于 2019-5-17 13:44 编辑
十分奇怪哦 发表于 2019-5-17 12:55
呃呃这个是忘了,不过不是这方面的原因。直接运行py文件能有内容,用idle打开run的话,file2是空白文档 ...
楼主再试试这个代码,看看是否有改观
import sys
f1 = open(sys . argv , 'rt')
f2 = open(r'C:\Users\Administrator\Desktop\file2.txt' , 'wt')
for i in f1:
i = i[::-1] . strip()
f2 . write(i + '\n')
print(i)
f2 . close()
f1 . close()
本帖最后由 13572044595 于 2019-5-17 13:49 编辑
十分奇怪哦 发表于 2019-5-17 12:55
呃呃这个是忘了,不过不是这方面的原因。直接运行py文件能有内容,用idle打开run的话,file2是空白文档 ...
编译器在程序运行完毕之后,会默认自动关闭文件,
你在 shell 里面运行完毕,文件没有内容,你把 shell 关闭,在看看 文件是否 有 内容` 13572044595 发表于 2019-5-17 13:47
编译器在程序运行完毕之后,会默认自动关闭文件,
你在 shell 里面运行完毕,文件没有内容,你把 shel ...
嗯嗯试了 没有哇 jackz007 发表于 2019-5-17 13:24
楼主再试试这个代码,看看是否有改观
emmm 报错了,类型错误,,我还没学到,3 4行代码能解释一下嘛,,,,后面那个应该是'r+'和 ‘w+' 吧,楼主可能打错了 13572044595 发表于 2019-5-17 13:47
编译器在程序运行完毕之后,会默认自动关闭文件,
你在 shell 里面运行完毕,文件没有内容,你把 shel ...
我在shell运行的时候,它会在shell上打印出内容。关了以后打开文件2,仍然是空白的。。。 本帖最后由 jackz007 于 2019-5-18 18:54 编辑
f1 = open(sys . argv , 'rt') # sys . argv 就是本脚本文件的名字,'rt' 代表文件打开模式为:文本(txt)读
f2 = open(r'C:\Users\Administrator\Desktop\file2.txt' , 'wt') # 'wt' 代表文件打开模式为:文本(txt)写
这个代码会把当前 Python 源程序中的代码按行首尾颠倒然后写入文件 'C:\Users\Administrator\Desktop\file2.txt' 中,我在 IDLE 中试过,除非 'C:\Users\Administrator\Desktop\' 这个路径不存在,否则, file2.txt 是绝对不可能成为空白文件的,为了排除干扰,你可以考虑先把 file2.txt 删掉再运行本代码。
如果不知道 sys .argv 是什么,那就在合适的位置插入一条语句 print('sys . argv =' , sys . argv) 不就可以了?
页:
[1]