#26874: [Python]Linux所有東西都是檔案真是太酷了!而且Python真的很好用耶,我的天呀!


406490150@gms.tku.edu.tw (我是朱朱)

學校 : 國立交通大學
編號 : 139794
來源 : [140.113.236.122]
最後登入時間 :
2022-09-03 11:13:16
e080. read and write -- it's david | From: [1.174.74.81] | 發表日期 : 2021-08-29 23:18



這題的解法,簡單來說就是把"stdin、input"改成"file object"就可以了!
如果查看"stdin.seekable()"會回傳"False"

眾所皆知,Linux系統管理方法就是:「所有東西都是檔案」
如果使用下面的方法,竟然"f.seekable()""True",真的是酷斃了XD
https://en.wikipedia.org/wiki/Everything_is_a_file

from sys import stdout

CHUNK_SIZE = 65536 # 2**16  #2**18 262_144 不行
with open(r'/dev/stdin'as f:
    # 將你的Code寫在這裡
    # 實用的功能如下
    f.read()
    f.seek()

    str.find()
    str() in str()

    stdout.write()

歡迎大家踴躍分享各種寫法呦,失敗為成功之母,一起討論吧! :D
(不知道題主David的寫法是什麼,蠻好奇的XD)
 
#26875: Re:[Python]Linux所有東西都是檔案真是太酷了!而且Python真的很好用耶,我的天呀!


406490150@gms.tku.edu.tw (我是朱朱)

學校 : 國立交通大學
編號 : 139794
來源 : [140.113.236.122]
最後登入時間 :
2022-09-03 11:13:16
e080. read and write -- it's david | From: [1.174.74.81] | 發表日期 : 2021-08-29 23:55

撇除上面自High的程式碼

如果直接在 ZJ 測試 import sys print(sys.stdin.seekable()) 會是True

 

所以上面第二句話是錯的,請大家不要以訛傳訛,真是糟糕的解題報告ww

 
#26876: Re:[Python]Linux所有東西都是檔案真是太酷了!而且Python真的很好用耶,我的天呀!


asnewchien@gmail.com (david)

學校 : 不指定學校
編號 : 68108
來源 : [114.42.146.197]
最後登入時間 :
2024-05-03 16:06:58
e080. read and write -- it's david | From: [61.223.62.1] | 發表日期 : 2021-08-30 00:01

網站裡有些題目,記憶體開的比較小的。都能用類似的方法解。

先掃一遍 \n 的位置。

 
#26878: Re:[Python]Linux所有東西都是檔案真是太酷了!而且Python真的很好用耶,我的天呀!


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [101.136.203.77]
最後登入時間 :
2024-04-07 15:34:14
e080. read and write -- it's david | From: [27.246.4.142] | 發表日期 : 2021-08-30 08:42

撇除上面自High的程式碼

如果直接在 ZJ 測試 import sys print(sys.stdin.seekable()) 會是True

 

所以上面第二句話是錯的,請大家不要以訛傳訛,真是糟糕的解題報告ww


我猜測zerojudge應該是用檔案重導向的方式來輸入測資,所以才會是True

用你的這個程式碼測試的結果(test是我自己建立的測試檔案):

[bill@bill judge]$ python main.py 
False
[bill@bill judge]$ python main.py < test
True
 
#26886: Re:[Python]Linux所有東西都是檔案真是太酷了!而且Python真的很好用耶,我的天呀!


406490150@gms.tku.edu.tw (我是朱朱)

學校 : 國立交通大學
編號 : 139794
來源 : [140.113.236.122]
最後登入時間 :
2022-09-03 11:13:16
e080. read and write -- it's david | From: [1.172.254.147] | 發表日期 : 2021-08-30 19:09

撇除上面自High的程式碼

如果直接在 ZJ 測試 import sys print(sys.stdin.seekable()) 會是True

 

所以上面第二句話是錯的,請大家不要以訛傳訛,真是糟糕的解題報告ww


我猜測zerojudge應該是用檔案重導向的方式來輸入測資,所以才會是True

用你的這個程式碼測試的結果(test是我自己建立的測試檔案):

[bill@bill judge]$ python main.py 
False
[bill@bill judge]$ python main.py < test
True

 

你的意思是 stdin.seekable() 是False,重新導向就會以檔案模式開啟,才會是 True

好奇如果在 linux 使用 with open(r'/dev/stdin') as f:  f.seekable() 會是什麼呢?

不知道能否請你幫忙測試呢?

 
#26888: Re:[Python]Linux所有東西都是檔案真是太酷了!而且Python真的很好用耶,我的天呀!


406490150@gms.tku.edu.tw (我是朱朱)

學校 : 國立交通大學
編號 : 139794
來源 : [140.113.236.122]
最後登入時間 :
2022-09-03 11:13:16
e080. read and write -- it's david | From: [1.172.254.147] | 發表日期 : 2021-08-30 19:32

我剛剛用虛擬機跑了一下,看起來的確是重新導向的關係,才可以達成

 
ZeroJudge Forum