我一直在努力刮板從網站上獲取大量的HTML和圖像。我有刮板工作,但目錄大量填充,導致很難導航。我會如何將它保存到一個子目錄? ,節省了HTML的一部分:保存文件到一個子目錄
t = open(str(current)+".html", 'w+')
t.write(b)
t.close()
而且一部分保存圖像:
我一直在努力刮板從網站上獲取大量的HTML和圖像。我有刮板工作,但目錄大量填充,導致很難導航。我會如何將它保存到一個子目錄? ,節省了HTML的一部分:保存文件到一個子目錄
t = open(str(current)+".html", 'w+')
t.write(b)
t.close()
而且一部分保存圖像:
你只是向我們展示你的代碼的一部分,這是無益的,與說寫一個子目錄很簡單,但首先需要創建一個。現在,我只能給你幾個基本的例子,因爲我不知道你的代碼的其他部分是什麼樣的,希望這裏有所幫助!
def create_folder(self, path):
try:
if os.path.isdir(path):
print("Error: The directory you're attempting to create already exists") # or just pass
else:
os.makedirs(path)
except IOError as exception:
raise IOError('%s: %s' % (path, exception.strerror))
return None
或更容易
os.makedirs("C:\\Example Folder\\")
或Linux的
os.makedirs('/home/' + os.getlogin() + '/Example Folder/')
的情況下,然後就寫它像往常一樣,在剛剛提供的路徑子目錄。
def write(self, path, text):
try:
if os.path.isfile(path):
return None # or print and error, or pass etc...
else:
with open(path, 'w') as outFile:
outFile.write(text)
except IOError as exception:
raise IOError("%s: %s" % (path, exception.strerror))
return None
在這種情況下
,你就會把路徑到您的子目錄中的「路徑」參數,幷包含「文本」參數中的文本變量。您可以修改此功能追加,寫字節等。
更新信息解決您的意見
一個非常簡單的方法,使小規模的Python程序「更多」跨平臺的,只是像做
if sys.platform == 'win32':
print('This is windows')
elif sys.platform == 'linux2':
print('This is some form of linux')
可以添加,檢查操作系統,然後根據操作系統:)
是的,你是正確的,上面寫功能也覆蓋這些文件,你可以在文件中附加運行塊(添加新沒有overwriti的文字通過改變「W」標誌「A」,像這樣
def append(self, path, text):
try:
if os.path.isfile(path):
with open(path, 'a') as outFile:
outFile.write(text)
except IOError as exception:
raise IOError('%s: %s' % (path, exception.strerror))
return None
進一步更新納克現有文本):
如果你不使用類你可以刪除的「自我」。
根據你最近的評論是「我自己放什麼」,我真的強烈建議你暫時放棄你的項目,並首先學習python的基礎知識......你可以在以下地方找到教程。
https://www.tutorialspoint.com/python/
https://docs.python.org/3/tutorial/
如果您使用的是較舊的版本,你可以簡單地切換到您所使用的官方網站哪一個,祝你好運,但不幸的是,我可以」在沒有首先知道至少基本知識的情況下,你可以進一步幫助你,對不起!
啊,那看起來不錯。我可以使用try/except並將兩種方法用於跨平臺兼容性嗎? –
是的,你也可以通過簡單的方式找出你正在使用的操作系統,使其更好。 – Afflicted
你的代碼寫入文件似乎重寫't.write()'會做什麼。那是對的嗎?如果是這樣,我將如何使用此方法來保存圖像? –
您可能想向我們展示您到目前爲止的內容? – davidejones
這不像改變你保存的路徑那麼簡單嗎?我們在這裏錯過了什麼? – WillardSolutions
我有相當多的代碼,你需要看哪個特定的部分? –