2017-08-09 7 views
1

Ich war diesesPython Fehler: Lesen Sie den Inhalt in einer Datei in die Variable

readonly FILE="/home/xxxx/file.txt" 
text=$(cat ${FILE}) 

Der Versuch, das gleiche in Python

text = open('file.txt').read() 
print text 

Ich versuche, diese erfolgreich in Schale zu tun und bekam eine Fehlermeldung:

Traceback (most recent call last): 
    File "C:\Python27\lib\runpy.py", line 174, in _run_module_as_main 
    "__main__", fname, loader, pkg_name) 
    File "C:\Python27\lib\runpy.py", line 72, in _run_code 
    exec code in run_globals 
    File "C:\Python27\lib\py_compile.py", line 170, in <module> 
    sys.exit(main()) 
    File "C:\Python27\lib\py_compile.py", line 162, in main 
    compile(filename, doraise=True) 
    File "C:\Python27\lib\py_compile.py", line 106, in compile 
    with open(file, 'U') as f: 
IOError: [Errno 22] invalid mode ('U') or filename: '' 

Vielen Dank!

+0

Der Code, den Sie setzen scheint nicht das Zurückverfolgungs passen Sie auf dem Laufenden. Im Trackback scheint man dafür einen Kontextmanager zu verwenden. Kannst du das bitte klären? – SH7890

+0

'text = öffnen ('file.txt', 'r') .lesen()' –

Antwort

1

Diese Zeile in Ihrem Traceback: IOError: [Errno 22] invalid mode ('U') or filename: '' sagt mir, dass Sie Ihren Kontextmanager eine leere Zeichenfolge für den Dateinamen eingeben. Stellen Sie sicher, dass die Variable file definiert ist.

1

Sie können den Lesemodus in der open() Methode definieren.

Bitte versuchen Sie es text = open('file.txt','r')

+0

Das stimmt, aber ich denke nicht, dass dies das Problem des OP ist. Sie können '.read()' auch eine Datei im 'U' Modus anzeigen. – SH7890

Verwandte Themen