python 從文件中讀取數據


 

1、讀取整個文件

不要忘記.read() 這個方法,

相比於原始文件,該輸出唯一不同的地方是末尾多了一個空行。為何會多出這個空行呢?因為read()到達文件末尾時返回一個空字符串,而將這個空字符串顯示出來時就是一個空行。要刪除多出來的空行,可在函數調用print()中使用rstrip()

with open('pi_digits.txt') as file_object:
    contents = file_object.read() print(contents.rstrip())

 

2、文件路徑

2.1、相對路徑

  

with open('text_files/filename.txt') as file_object:

 

2.2、絕對路徑

file_path = '/home/ehmatthes/other_files/text_files/_filename_.txt'
with open(file_path) as file_object:

注意 如果在文件路徑中直接使用反斜杠,將引發錯誤,因為反斜杠用於對字符串中的字符進行轉義。例如,對於路徑"C:\path\to\file.txt",其中的\t將被解讀為制表符。如果一定要使用反斜杠,可對路徑中的每個反斜杠都進行轉義,如"C:\\path\\to\\file.txt"

 

 

3、逐行讀取

如下有兩個方法,第一個是在with 體內 嵌套循環for來讀取,,,另外一種方式比較好,在with代碼塊中 將每一行讀取的數據存儲到列表lines中(是列表類型),然后在體外執行for循環,

['3.1415926535 \n', '  8979323846 \n', '  2643383279\n'],文件的每一行都帶有一個換行符,執行print()時頁會加一個換行符,所以如果不用rstrip()字符串末尾去空格的函數,將會每行之間空一整行

filename = 'pi_digits.txt'
with open(filename) as file_object:
    for line in file_object:
        print(line.rstrip())


filename
= 'pi_digits.txt' with open(filename) as file_object: lines = file_object.readlines() for line in lines: print(line.rstrip())

 

讀取大文本的前50個字符,並將該文本的字符總數打印出來

filename = 'pi_million_digits.txt'

with open(filename) as file_object:
    lines = file_object.readlines()

pi_string = ''
for line in lines:
    pi_string += line.strip()

print(f"{pi_string[:50]}")
print(len(pi_string))

 

輸入生日查看是否在文本內容中

filename = 'pi_million_digits.txt'

with open(filename) as file_object:
    lines = file_object.readlines()

pi_string = ''

for line in lines:
    pi_string += line.strip()

birthday = input("input your birthday: ")
if birthday in pi_string:
    print(f"Your birthday in list")
else:
    print(f"Your birthday does not in list")

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM