15

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.

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. Commented Jun 10, 2015 at 22:02
  • import is used to include library functions. To read files see this Commented Jun 10, 2015 at 22:03
  • Did you try Googling "python import"? Commented Jun 10, 2015 at 22:19
  • 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.? Commented Jun 10, 2015 at 23:07

6 Answers 6

36

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() 
Sign up to request clarification or add additional context in comments.

1 Comment

'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'
6

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

list_ = open("world.txt").read().split() 

Comments

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 

Comments

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()

Comments

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.

Comments

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.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.