TGgan 发表于 2021-10-9 23:39:00

大佬们救命!关于用read()读取不了txt文件的问题

我想把这个py文件放在想处理的文件夹里,然后打开每一个文件把前面14行非数据部分删除好导入excel,但是一直不行,我试验了一下,发现问题出在f.read()是空的,这是为什么呢?请大佬们过目!!!
这是源代码
import os

file_name = os.listdir('.')
file_name1 = == 'txt']
for each in file_name1:
    file_path = ".\\"+each
    with open(file_path,'r',encoding = 'utf-8') as f:
      f.seek(0)
      a = f.read()
      print(a)
    x =
    print(x)
    for each in range(14):
      x.pop(0)
    with open(file_path,'w',encoding = 'utf-8') as f:
      f.writelines(x)
下面是运行结果和py文件所处位置


救救孩子吧,被人畜无害的read给坑了太难受了,提前谢谢各位大佬!!!

suchocolate 发表于 2021-10-10 00:41:45

import os

files = os.listdir('.')
for file in files:
    if os.path.splitext(file) == '.txt':
      with open(file, encoding='utf-8') as f:
            txt = f.readlines()
      with open(file, 'w', encoding='utf-8') as f:
            f.writelines(txt)

TGgan 发表于 2021-10-10 00:52:47

suchocolate 发表于 2021-10-10 00:41


大佬牛蛙,但是我能请问一下哪里出错了吗{:5_92:}{:5_92:}

suchocolate 发表于 2021-10-10 07:52:03

TGgan 发表于 2021-10-10 00:52
大佬牛蛙,但是我能请问一下哪里出错了吗

1.py脚本和待处理的文件在同文件夹,所以不用特别加上本文件夹“.\”,加上也不影响,但你得加个转义:file_path = ".\\\"+each # 不转义就读不到文件,所以是空。
2.当你用处理后,文本内容的列表就出现了一种情况,\n单独变成了一行,x就变成了形如:
['1行内容', '\n', '2行内容', '\n', '3行内容', '\n' .... ]的样子,然后经过14次的x.pop(0)后,实际上只清除了7行的内容。

TGgan 发表于 2021-10-10 10:34:09

suchocolate 发表于 2021-10-10 07:52
1.py脚本和待处理的文件在同文件夹,所以不用特别加上本文件夹“.\”,加上也不影响,但你得加个转义: ...

好的谢谢大哥{:5_101:}
页: [1]
查看完整版本: 大佬们救命!关于用read()读取不了txt文件的问题