python 字符串查找修改问题


def find_1st(file,x):
    infile=open(file,"r")
    outfile=open("result.txt",'w')
    date=infile.read()
    position=date.find(x)
    if position==-1:
        print(x+"没有被找到\n")
    else:
        print(x+'在',str(position)+'被第一次找到\n')

    infile.close()
    outfile.close()
    print('done')
print(find_1st('/Users/wangzhehan/Downloads/article.txt','computer'))

img


我想问一下怎么把我环线的这部分去掉呢?我想给别人提交文件的时候直接是后面就好

改成相对路径:

def find_1st(file,x):
    infile=open(file,"r")
    outfile=open("result.txt",'w')
    date=infile.read()
    position=date.find(x)
    if position==-1:
        print(x+"没有被找到\n")
    else:
        print(x+'在',str(position)+'被第一次找到\n')
 
    infile.close()
    outfile.close()
    print('done')
    
find_1st('article.txt','computer')

用相对路径

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7667569
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:用Python两种方法创建带参数运行的快捷方式,一键创建桌面和开始菜单快捷方式和部署自启动
  • 除此之外, 这篇博客: Python文科生学习分享笔记系列(一)| Python安装中的 3.2 后续更改时,找到软件右下角的这个,给项目指定一个python。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    后续操作同上。

  • 您还可以看一下 唐宇迪老师的Python数据分析与机器学习实战集锦课程中的 序列化执行预处理操作小节, 巩固相关知识点
  • 以下回答来自chatgpt:

    解决方案:

    在Python中查找并修改给定字符串中的环线部分可以采用正则表达式的方式进行操作,具体步骤如下:

    1. 导入re模块。
    import re
    
    1. 定义一个正则表达式,用于匹配环线部分,这里假设环线部分的格式是“环线xx”(xx为数字)。
    pattern = r"环线\d+"
    
    1. 使用正则表达式查找给定字符串中的环线部分。
    s = "某地区公交车经过环线1,需在该站下车。"
    result = re.search(pattern, s)
    
    1. 对于找到的环线部分进行修改,这里假设要将其替换为“线路xx”。
    new_str = re.sub(pattern, "线路{}".format(result.group().lstrip("环线")), s)
    print(new_str)
    

    完整代码如下:

    import re
    
    s = "某地区公交车经过环线1,需在该站下车。"
    pattern = r"环线\d+"
    result = re.search(pattern, s)
    
    if result is not None:
        new_str = re.sub(pattern, "线路{}".format(result.group().lstrip("环线")), s)
        print(new_str)
    else:
        print("未找到环线部分")
    

    操作提示:

    以上代码中,使用re.search()可以用于在一个字符串中搜索正则表达式所匹配的内容,并返回一个包含匹配结果信息的match对象;而re.sub(pattern, repl, string)可以用于在一个字符串中搜索正则表达式所匹配的内容,并将其替换为指定的字符串。在使用正则表达式时,常常需要用到一些特殊字符来表示匹配模式,例如,点号(.)用于匹配任何字符,星号(*)用于匹配零个或多个字符,加号(+)用于匹配一个或多个字符,问号(?)用于匹配零个或一个字符等等。

    参考资料:

    • Python正则表达式入门教程
    • Python中re模块参考文档

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^