㈠ python,需要實現一個文件到指定目錄,並設為隱藏文件
importplatform,locale,os,time,shutil
defhideFile(filePath):
if'Windows'inplatform.system():
cmd='attrib+h"'+filePath+'"'
cmd=cmd.encode(locale.getdefaultlocale()[1])
os.popen(cmd).close()
time.sleep(1)
defFile(fromPath,toPath):
f=open(fromPath,'rb')
t=open(toPath,'wb+')
shutil.fileobj(fsrc=f,fdst=t,length=1024*16)
f.close()
t.close()
hideFile(toPath)
㈡ Python編程怎麼復制
解釋器是互動式的,類似於很早的basic,不太適用直接粘貼。所以建議你:
在windows之下安裝的python有一個idle集成開發環境,在那裡new個新文件,復制粘貼源代碼,點run菜單運行即可。也可在windows的「命令提示符」下用python直接執行你用記事本寫好的.py文件。像我們一般都用比較專業的開發環境,比如vs裡麵包含的python,總之有很多種選擇,就看自己的喜好了
㈢ 用python編寫程序,在一個文件中可以正常運行,把程序復制到另一個文件中就不能了,怎麼回事
出錯的文件的編碼不是utf-8,需要以utf-8編碼保存。
㈣ 關於一台無法進入系統的電腦,python三方庫怎麼拷貝到新的電腦上
主板壞了是完全不能啟動了,只要硬碟是好的就可以,拆下硬碟裝到這個新電腦上。
㈤ python 拷貝文件的問題。
就是建立目標目錄就可以
souredir=r'D:\1'
destdir=r'D:\2'
import glob,os
files=glob.glob(souredir)
for fn in files:
fn2=fn.replace(sourcedir,destdir)
subdir=os.path.dirname(fn2)
if not os.isdir(subdir): os.makedirs(subdir) #這里建立所有子目錄
open(fn2,"wb").write(open(fn1,"rb").read())
你檢查一下,這樣能滿足你的要求嗎?
㈥ python安裝包可以復制到其他電腦嗎
python安裝包是可以復制到其他電腦上的。
但是要在其他電腦上用這個安裝包安裝配置後,python才可以正常運行.
㈦ python 元組為什麼不能拷貝
能啊
u={1,2,3}
a=u.()
a
{1,2,3}
㈧ python關於.deep()的問題
Python中的對象之間賦值時是按引用傳遞的,如果需要拷貝對象,需要使用標准庫中的模塊。
1.
.
淺拷貝
只拷貝父對象,不會拷貝對象的內部的子對象。
2.
.deep
深拷貝
拷貝對象及其子對象
一個很好的例子:
import
a
=
[1,
2,
3,
4,
['a',
'b']]
#原始對象
b
=
a
#賦值,傳對象的引用
c
=
.(a)
#對象拷貝,淺拷貝
d
=
.deep(a)
#對象拷貝,深拷貝
a.append(5)
#修改對象a
a[4].append('c')
#修改對象a中的['a',
'b']數組對象
print
'a
=
',
a
print
'b
=
',
b
print
'c
=
',
c
print
'd
=
',
d
輸出結果:
a
=
[1,
2,
3,
4,
['a',
'b',
'c'],
5]
b
=
[1,
2,
3,
4,
['a',
'b',
'c'],
5]
c
=
[1,
2,
3,
4,
['a',
'b',
'c']]
d
=
[1,
2,
3,
4,
['a',
'b']]
㈨ Python對象的拷貝
Python賦值操作或函數參數傳遞,傳遞的永遠是對象引用(即內存地址),而不是對象內容。在Python中一切皆對象,對象又分為可變(mutable)和不可變(immutable)兩種類型。對象拷貝是指在內存中創建新的對象,產生新的內存地址。當頂層對象和它的子元素對象全都是immutable不可變對象時,不存在被拷貝,因為沒有產生新對象。淺拷貝(Shallow Copy),拷貝頂層對象,但不會拷貝內部的子元素對象。深拷貝(Deep Copy),遞歸拷貝頂層對象,以及它內部的子元素對象。
Python中一切皆對象,對象就像一個塑料盒子, 裡面裝的是數據。對象有不同類型,例如布爾型和整型,類型決定了可以對它進行的操作。現實生活中的"陶器"會暗含一些信息(例如它可能很重且易碎,注意不要掉到地上)。
對象的類型還決定了它裝著的數據是允許被修改的變數(可變的mutable)還是不可被修改的常量(不可變的immutable)。你可以把不可變對象想像成一個透明但封閉的盒子:你可以看到裡面裝的數據,但是無法改變它。類似地,可變對象就像一個開著口的盒子,你不僅可以看到裡面的數據,還可以拿出來修改它,但你無法改變這個盒子本身,即你無法改變對象的類型。
對象拷貝是指在內存中創建新的對象,產生新的內存地址。
淺拷貝(Shallow Copy),拷貝頂層對象,但不會拷貝內部的子元素對象。
2.1.1. 頂層是mutable,子元素全是immutable
當頂層對象是mutable可變對象,但是它的子元素對象全都是immutable不可變對象時,如[1, 'world', 2]
① 創建列表對象並賦值給變數a
② 導入模塊,使用.()函數淺拷貝a,並賦值給變數b
③ 修改變數a的子元素a[0] = 3,由於整數是不可變對象,所以並不是修改1變為3,而是更改a[0]指向對象3
當頂層對象是 mutable可變對象 ,但子元素也存在 mutable可變對象 時,如 [1, 2, ['hello','world']]
① 淺拷貝 .() 只拷貝了頂層對象,沒有拷貝子元素對象['hello','world'],即a[2]和b[2]指向同一個列表對象
② 修改a[2][1] = 'china',則b[2][1] = 'china'
當頂層對象是immutable不可變對象,同時它的子元素對象也全都是immutable不可變對象時,如(1, 2, 3)
變數a與變數b指向的是同一個元組對象,沒有拷貝
當頂層對象是immutable不可變對象時,但子元素存在mutable可變對象時,如(1, 2, ['hello','world'])
變數a與變數b指向的是相同的元組對象,並且a[2]與b[2]指向同一個列表,所以修改a[2][1]會影響b[2][1]
深拷貝(Deep Copy),遞歸拷貝頂層對象,以及它內部的子元素對象
當頂層對象是mutable可變對象,但是它的子元素對象全都是immutable不可變對象時,如[1, 'world', 2]
變數a與變數b指向不同的列表對象,修改a[0]只是將列表a的第一個元素重新指向新對象,不會影響b[0]
當頂層對象是mutable可變對象,但子元素也存在mutable可變對象時,如[1, 2, ['hello','world']]
深拷貝既拷貝了頂層對象,又遞歸拷貝了子元素對象,所以a[2]與b[2]指向了兩個不同的列表對象(但是列表對象的子元素初始指定的字元串對象一樣),修改a[2][1] = 'china'後,它重新指向了新的字元串對象(內存地址為140531581905808),不會影響到b[2][1]
當頂層對象是immutable不可變對象,同時它的子元素對象也全都是immutable不可變對象時,如(1, 2, 3)
變數a與變數b指向的是同一個元組對象,不存在拷貝
當頂層對象是immutable不可變對象時,但子元素存在mutable可變對象時,如(1, 2, ['hello','world'])
變數a與變數b指向的是不同的元組對象,同時a[2]與b[2]指向不同的列表對象,所以修改a[2][1]不會影響b[2][1]
使用=是賦值,即將列表對象的引用也賦值給變數b,可以將列表對象想像成一個盒子,變數a相當於這個盒子上的標簽,執行b = a後,相當於再在這個盒子上貼上b標簽,a和b實際上指向的是同一個對象。因此,無論我們是通過a還是通過b來修改列表的內容,其結果都會作用於雙方。
b/c/d都是a的復制,它們都指向了不同的列表對象,但是沒有拷貝子元素,a[2]和b[2]/c[2]/d[2]指向同一個列表, 相當於淺拷貝的效果
使用分片[:]操作,a和b其實是指向同一個元組,而且沒有拷貝子元素,a[2]和b[2]也指向同一個列表,相當於淺拷貝的效果
同列表類似,可以使用字典的()函數或者轉換函數dict()
變數a與變數b/c指向不同的字典,但是沒有拷貝子元素,a['jobs']和b['jobs']/c['jobs']指定同一個列表, 相當於淺拷貝的效果
同列表類似,可以使用集合的()函數或者轉換函數set()
變數a與變數b/c指向不同的集合,而集合的元素必須是hashable,所以修改集合a不會影響到b/c
㈩ python封裝成exe如何加密
可以直接用加密軟體加密。據了解加密軟體可以加密所有類型文件的,可以對文件進行透明加密,在內部環境文件是可以正常打開的,脫離這個環境則打不開或亂碼,可以禁止截屏、拷貝、復制、列印、修改等。文件外發需授權解密,未授權解密無論以任何形式發出都是無法正常打開的,還可設置文件外發的瀏覽次數和打開時間。在不影響日常使用的情況下保障文件安全。