1. 程式人生 > >day 12 建立檔案 複製文字 圖片 視訊

day 12 建立檔案 複製文字 圖片 視訊

# 注意:圖片和視訊不能用r模式應該是rb模式
# 1.
# 拷貝txt檔案
# 比如d盤下有一個1.txt的文件,將這個檔案複製到別的盤去,或者別的資料夾下.
import os.path
user = os.getlogin() # 查使用者名稱
path = r"C:\Users" # 系統盤位置(一般預設C盤)
System_path = os.path.exists(path) # 判斷系統盤是不是存在
def return1():
os.mkdir(new_path) #合併相同 或 不相同結果
new_file = os.path.join(new_path,"test.txt") #建立tesr.txt

test_file = open(new_file, "w+") #以寫入模式開啟tesr.txt
test_file.write("李老師爆照") #寫入資料
test_file.close() #關閉儲存
test_file = open(new_file, "rb") #以二進位制方式開啟
data = test_file.readlines() #檔案資料賦值到date
os.chdir(r"D:\\") #跳轉到D盤
new_file = os.path.join("test.txt") # 建立tesr.txt

test_file = open(new_file, "wb") # 以二進位制方式 和 寫入模式 開啟tesr.txt
test_file.writelines(data)
test_file.close()
if System_path is True: # 如存在
my_desktop = os.path.join(path, user, "Desktop") # 合併地址到桌面位置
a = os.listdir(my_desktop) # 列出所有檔案和資料夾
list1 = str(1)
for i in a: # 遍歷所有檔案和目錄

if i == list1: # 如果相同
list1 = list1 + str("(_副本)") # 自身增加“副本”
elif list1 != i: # 如果不相同
new_path = os.path.join(my_desktop, list1) # 直接合並
return1()
else:
a = os.listdir()
list1 = str(1)
for i in a: # 遍歷所有檔案和目錄
if i == list1: # 如果相同
list1 = list1 + str("(_副本)") # 自身增加“副本”
elif list1 != i: # 如果不相同
new_path = os.path.join(list1) # 直接合並
return1()

# 2.
# 拷貝圖片

aa1 = ......# 圖片二進位制資料,刪了

import os.path
user = os.getlogin() # 查使用者名稱
path = r"C:\Users" # 系統盤位置(一般預設C盤)
System_path = os.path.exists(path) # 判斷系統盤是不是存在
def return1():
os.mkdir(new_path) #合併相同 或 不相同結果
new_file = os.path.join(new_path,"1.jpg") #建立
test_file = open(new_file, "wb") #以寫入模式開啟tesr.txt
test_file.writelines(aa1) #寫入資料
test_file.close() #關閉儲存
test_file = open(new_file, "rb") #以二進位制方式開啟
data = test_file.readlines() #檔案資料賦值到date
os.chdir(r"D:\\") #跳轉到D盤
new_file = os.path.join("1.jpg") # 建立tesr.txt
test_file = open(new_file, "wb") # 以二進位制方式 和 寫入模式 開啟tesr.txt
test_file.writelines(data)
test_file.close()
if System_path is True: # 如存在
my_desktop = os.path.join(path, user, "Desktop") # 合併地址到桌面位置
a = os.listdir(my_desktop) # 列出所有檔案和資料夾
list1 = str(1)
for i in a: # 遍歷所有檔案和目錄
if i == list1: # 如果相同
list1 = list1 + str("(_副本)") # 自身增加“副本”
elif list1 != i: # 如果不相同
new_path = os.path.join(my_desktop, list1) # 直接合並
return1()
else:
a = os.listdir()
list1 = str(1)
for i in a: # 遍歷所有檔案和目錄
if i == list1: # 如果相同
list1 = list1 + str("(_副本)") # 自身增加“副本”
elif list1 != i: # 如果不相同
new_path = os.path.join(list1) # 直接合並
return1()

# 3.
# 拷貝視訊
# 當讀取大檔案的時候最好不要一次性讀完全部的資料,最好是分批讀取
# 比如一次讀取1024個位元組,然後寫入,在新型下一次讀取和寫入
# 位元組什麼時候讀取完畢可以拿getsize做一個判斷,對比2個檔案的大小。
aa12 = ....... # 視訊二進位制資料 ,太大刪了

import os.path
user = os.getlogin() # 查使用者名稱
path = r"C:\Users" # 系統盤位置(一般預設C盤)
System_path = os.path.exists(path) # 判斷系統盤是不是存在
def return1():
os.mkdir(new_path) #合併相同 或 不相同結果
new_file = os.path.join(new_path,"1.mp4") #建立
test_file = open(new_file, "wb") #以寫入模式開啟tesr.txt
test_file.writelines(aa12) #寫入資料
test_file.close() #關閉儲存

print(os.path.getsize(new_file))
os.chdir(r"D:\\") # 跳轉到D盤
new_file1 = os.path.join("2.mp4") # 建立
aaaa = open(new_file, "rb") # 以二進位制方式開啟
bbbb = open(new_file1, "wb") # 以二進位制方式 和 寫入模式 開啟tesr.txt
while True:
ci = aaaa.read(1024)
if len(ci) == 0:
break
bbbb.write(ci)
aaaa.close()
bbbb.close()
print(os.path.getsize(new_file1))

if System_path is True: # 如存在
my_desktop = os.path.join(path, user, "Desktop") # 合併地址到桌面位置
a = os.listdir(my_desktop) # 列出所有檔案和資料夾
list1 = str(1)
for i in a: # 遍歷所有檔案和目錄
if i == list1: # 如果相同
list1 = list1 + str("(_副本)") # 自身增加“副本”
elif list1 != i: # 如果不相同
new_path = os.path.join(my_desktop, list1) # 直接合並
return1()
else:
a = os.listdir()
list1 = str(1)
for i in a: # 遍歷所有檔案和目錄
if i == list1: # 如果相同
list1 = list1 + str("(_副本)") # 自身增加“副本”
elif list1 != i: # 如果不相同
new_path = os.path.join(list1) # 直接合並
return1()