2017-06-15 91 views
1

我的工作,通過學習Python堅硬方式但我有與讀取文件的鍛鍊一個問題:https://learnpythonthehardway.org/python3/ex15.html錯誤與讀取文件

我跟了這並確保我的文件是在同一文件夾我的python文件。我不斷收到錯誤:

 Traceback (most recent call last): 
    File "ex15.py", line 5, in <module> 
    txt = open(filename) 
FileNotFoundError: [Errno 2] No such file or directory: 'ex15_sample.txt' 

我輸入:python ex15.py ex15_sample.txt到powershell中。我試圖查找我遇到的問題,但無法找到任何有助於我的案例。讓我知道如果我做錯了什麼或者我錯過了什麼。由於

+0

有可能是'沒有這樣的文件或目錄:最後,你可以使用cd命令調用Python解釋器之前設置使用PowerShell工作目錄「ex15_sample.txt'' –

+0

儘量確保你正在運行的程序在與文本文件相同的目錄中,或者必須將文本文件的名稱作爲其文件路徑。 – JoshKopen

+0

我有一個名爲ex15_sample.txt的文本文件保存在與python文件相同的文件夾中。文件不在相同位置時是否發生錯誤? – JanoyCresva

回答

0

您可以檢查當前路徑,並通過是否

import os 

#get the current working directory 
os.getcwd() 

#check whether your file exists in the current working directory 
os.path.exists("./ex15.py") 
0

試試下面

  1. 檢查這兩個文件的.py 2個東西存在於您的文件和.txt是在同一個位置。然後執行程序。 這是我如何運行代碼。

    C:\ Users \ db \ Desktop \ Python> python ex15.py 輸入文件名:ex15_sample.txt 這是我輸入到文件中的東西。 這真的很酷的東西。 有很多很多的樂趣在這裏。

  2. 如果您的文件位於其他位置,則需要爲文件提供絕對路徑。作爲

    C:\用戶\ DB \桌面\的Python>蟒蛇C:\用戶\ deepakb \桌面\ ex15_sample.txt

我在桌面這個時候我的txt文件。

0

在工作目錄和相關文件位置簡短演示..

假設我們有一個名爲hello.txt的有以下內容的文本文件:

Hello World!

是位於「C: \ Users \用戶名\文檔\蟒蛇\ hello.txt的」

,我們有一個python腳本名爲script.py與內容:

with open('hello.txt', 'r') as f: 
    print(f.read())

它位於「C:\ Users \用戶名\文檔\蟒蛇\ script.py」

如果我剛打的Windows鍵和類型的電源外殼,並點擊回車打開它,我默認情況下會在我的主目錄中給我一個提示:「C:\ Users \ username>」。從這裏我可以通過調用C:\Users\username> python C:\Users\username\Documents\python\script.py來執行我的python腳本。但是,如果我這樣做,他們的python解釋器就會在我的home文件夾中啓動,當它嘗試查找「hello.txt」時,它只會搜索文件夾「C:\ Users \ username」。這不是文件的位置,所以我們得到一個文件未找到錯誤。

要解決這個問題,我們有幾個選項。最重要的是重寫我們的腳本文件以包含我們的文本文件的完整路徑:... open("C:/Users/username/Documents/python/hello.txt", ...這樣就不需要搜索,腳本可以從任何地方運行。另一種選擇是從腳本中更改解釋器的工作目錄。您可以通過致電os.chdir('C:/Users/username/Documents/python')os庫設置工作目錄。

C:\Users\username> cd .\Documents\python\