importing external ".txt" file in python
Asked Answered
S

6

14

I am trying to import a text with a list about 10 words.

import words.txt

That doesn't work... Anyway, Can I import the file without this showing up?

Traceback (most recent call last):
File "D:/python/p1.py", line 9, in <module>
import words.txt
ImportError: No module named 'words'

Any sort of help is appreciated.

Sharpedged answered 10/6, 2015 at 22:0 Comment(4)
You can't actually do that. If you want to get those words you have to read them into your program. You can see how to do that with this question.Sama
import is used to include library functions. To read files see thisAnatomize
Did you try Googling "python import"?Haugen
What do you want to do with the list of words? Do you wish to create a list of the words, or just print them out exactly as they appear in the file? What does the file look like - are the words comma separated, on separate rows, etc.?Being
D
33

You can import modules but not text files. If you want to print the content do the following:

Open a text file for reading:

f = open('words.txt', 'r')

Store content in a variable:

content = f.read()

Print content of this file:

print(content)

After you're done close a file:

f.close()
Diplomate answered 16/8, 2017 at 17:52 Comment(1)
'words.txt' will open if it's in the same directory as the python file. If you need to grab a file from somewhere else just use it's path name like '/Users/username/Desktop/sample.txt'Dromedary
T
6

As you can't import a .txt file, I would suggest to read words this way.

list_ = open("world.txt").read().split()
Tribrach answered 10/6, 2015 at 22:21 Comment(0)
A
6

This answer is modified from infrared's answer at Splitting large text file by a delimiter in Python

with open('words.txt') as fp:
    contents = fp.read()
    for entry in contents:
        # do something with entry  
Ablepsia answered 24/11, 2020 at 3:28 Comment(0)
G
2

The "import" keyword is for attaching python definitions that are created external to the current python program. So in your case, where you just want to read a file with some text in it, use:

text = open("words.txt", "rb").read()

Guinn answered 10/6, 2015 at 22:52 Comment(0)
H
2

numpy's genfromtxt or loadtxt is what I use:

import numpy as np
...
wordset = np.genfromtxt(fname='words.txt')

This got me headed in the right direction and solved my problem.

Heddy answered 1/11, 2018 at 1:35 Comment(0)
C
0

Import gives you access to other modules in your program. You can't decide to import a text file. If you want to read from a file that's in the same directory, you can look at this. Here's another StackOverflow post about it.

Clinical answered 10/6, 2015 at 22:44 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.