read()方法怎么用?

img


对于这个read()方法,是不是先在桌面新建一个文档输入文本,python中打开路径为文本的位置,然后输出?求各位解答

  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7477769
  • 这篇博客你也可以参考下:python补充知识点-----为什么python中的read()语句只能生效一次?
  • 除此之外, 这篇博客: 用户画像实战系列(一)什么是用户画像?如何对用户历史搜词信息进行标签化?(python)中的 参数定义: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • sentences:可以是一个list
    • sg:用于设置训练算法,默认为0,对应CBOW算法;sg=1则采用skip-gram算法。
    • size:是指特征向量的维度,默认为100。大的size需要更多的训练数据,但是效果会更好. 推荐值为几十到几百。
    • window:表示当前词与预测词在一个句子中的最大距离是多少
    • alpha:是学习速率
    • seed:用于随机数发生器。与初始化词向量有关。
    • min_count:可以对字典做截断. 词频少于min_count次数的单词会被丢弃掉, 默认值为5
    • max_vocab_size:设置词向量构建期间的RAM限制。如果所有独立单词个数超过这个,则就消除掉其中最不频繁的一个。每一千万个单词需要大约1GB的RAM。设置成None则没有限制。
    • workers参数控制训练的并行数。
    • hs:如果为1则会采用hierarchica·softmax技巧。如果设置为0(defau·t),则negative sampling会被使用。
    • negative:如果>0,则会采用negativesamp·ing,用于设置多少个noise words
    • iter: 迭代次数,默认为5
    from gensim.models import word2vec
    #将数据变换成list of list格式
    train_path = './data/train_querylist_writefile-1w.csv'
    with open(train_path, 'r') as f:
        My_list = []
        lines = f.readlines()
        for line in lines:
            cur_list = []
            line = line.strip()
            data = line.split(" ")
            for d in data:
                cur_list.append(d)
            My_list.append(cur_list)
        
        model = word2vec.Word2Vec(My_list, size=300, window=10,workers=4)  
        savepath = '1w_word2vec_' + '300'+'.model' # 保存model的路径
    
        model.save(savepath)
    

    测试

    model.most_similar("大哥")
    

    在这里插入图片描述

    model.most_similar("清华")
    

    在这里插入图片描述

  • 以下回答由chatgpt基于相关博客总结生成:

    回答:

    要使用read()方法读取文件,需要先通过open()函数打开文件,并指定文件路径和打开模式(读取模式为'r'),然后再用read()方法读取文件内容。代码如下:

    with open('path/to/file.txt', 'r') as f:  # 打开文件
        content = f.read()  # 读取文件内容
        print(content)  # 打印文件内容
    

    其中,'path/to/file.txt'需要替换成实际文件所在的路径。

    如果要读取文件的一部分内容,可以在read()方法中加入参数,表示要读取的字节数。例如,读取文件前10个字符:

    with open('path/to/file.txt', 'r') as f:  # 打开文件
        content = f.read(10)  # 读取文件前10个字符
        print(content)  # 打印文件内容
    

    此外,也可以使用seek()方法修改文件指针的位置,从而在文件中移动读取的位置。例如,将文件指针移到文件的第10个字节处:

    with open('path/to/file.txt', 'r') as f:  # 打开文件
        f.seek(10)  # 移动文件指针到第10个字节处
        content = f.read()  # 从文件指针处开始读取文件内容
        print(content)  # 打印文件内容
    

    如果文件内容很大,一次性读取可能会耗费很多内存。此时可以通过逐行读取的方式进行操作,例如:

    with open('path/to/file.txt', 'r') as f:  # 打开文件
        for line in f:  # 逐行读取文件
            print(line)  # 处理每一行内容
    

    以上就是使用read()方法读取文件的基本方法,希望能对您有所帮助。

举个栗子

with open('demo.txt') as file:
      print(file.read())
with open('txt1.txt', 'r') as file:
    first = file.read(20)
    remain = file.read()

print("first:", first)
print("remain:", remain)