找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 18800|回复: 7

[问题求助] Python怎么去掉文本中的引号

[复制链接]
发表于 2019-7-12 15:34:15 | 显示全部楼层 |阅读模式
raw文本的内容如下:

"寻找·李慧珍"
"欲望敦煌"
"寻找李慧珍"
"远行"
"蓝色魔力"
"距离
"自由的味道"
"珍重"
"咖啡时间"
"幸福的眼泪"
"My Way"

-----------------------------

# -*- coding: UTF-8 -*-
f = open("raw.txt")             # 返回一个文件对象
line = f.readline()                # 调用文件的 readline()方法
while line:
    line = f.readline()
    print line[1:-1]                # 这样好像不大行
f.close(
发表于 2019-7-12 17:48:12 | 显示全部楼层
本帖最后由 cfwyy77_bat 于 2019-7-12 17:56 编辑

如果 每行都是有规则的引号(你的示例样本 有 一行最后没有引号的)
那你用这切片的方法应该可以的。  line[1:-2] 这样切应该可以的。  不过你这样的写法有点问题的。

可以参考一下我写的
  1. with open("1.txt","r",encoding="utf-8") as f:
  2.     for line in f:
  3.         print(line[1:-2])
复制代码
不过这种需求不指定python的话,还是sed好,一行完事。
发表于 2019-7-12 21:31:24 | 显示全部楼层
用re findall直接返回一个list

  1. import re


  2. with open("test.txt", encoding="utf-8") as f:
  3.     txt = f.read()
  4.     result = re.findall(""""(.*?)"""",txt)

  5. print(result)
复制代码
发表于 2019-7-13 00:01:51 | 显示全部楼层
python 字符串方法里有strip和rstrip,lstrip这些方法可以脱掉字符串里指定的字符。
 楼主| 发表于 2019-7-13 00:21:36 | 显示全部楼层
回复 2# cfwyy77_bat

搭车问一下,如何如何用sed删除没有关键字的所有行。
假设有个文本里面有root关键字,有root的全部保留。
其余的删除。
我试了!好像不对啊。
发表于 2019-7-15 07:31:16 | 显示全部楼层
回复 5# netdzb
  1. sed '/root/!d' file
复制代码
发表于 2019-7-15 08:23:17 | 显示全部楼层
回复 5# netdzb
  1. sed "/root/!d" 1.txt > 2.txt
复制代码
  1. sed -n "/root/p" 1.txt > 3.txt
复制代码
发表于 2019-7-17 12:27:18 | 显示全部楼层
with open('123.txt','r') as f:
    with open('222.txt', 'w') as f1:
        for line in f.readlines():
            f1.write(line.replace('"',''))
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 22:24 , Processed in 0.019349 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表