導航:首頁 > 編程語言 > pythonfilename函數

pythonfilename函數

發布時間:2022-08-29 21:33:46

python 修改文件名

importos

importsys

path="D:emojis"

for(path,dirs,files)inos.walk(path):

forfilenameinfiles:

newname="emoji_"+filename

os.rename(path+"\"+filename , "D: ew_emojis"+"\"+newname)

(1)pythonfilename函數擴展閱讀:

python文件和目錄操作方法

1、os.mknod("test.txt")

#創建空文件

2、fp = open("test.txt",w)

#直接打開一個文件,如果文件不存在則創建文件

3、關於open 模式:

w:以寫方式打開,

a:以追加模式打開(從EOF開始,必要時創建新文件)

r+:以讀寫模式打開

w+:以讀寫模式打開(參見w)

a+:以讀寫模式打開(參見a)

rb:以二進制讀模式打開

wb:以二進制寫模式打開(參見w)

ab:以二進制追加模式打開(參見a)

rb+:以二進制讀寫模式打開(參見r+)

wb+:以二進制讀寫模式打開(參見w+)

ab+:以二進制讀寫模式打開(參見a+)

⑵ 怎麼把Python ftplib 中下載文件名寫成函數

拼裝後作為參數:
cmd = 'RETR ' + name()
frp.retrbinary(cmd, file_handel, bufsize)

⑶ python內建函數

其實安裝python包會自帶一個有問號標示「?」的"Python Manuals"可以仔細閱讀一下,也可作幫助文檔的。

介紹Python的內建函數和異常.許多內建函數的細節及特性可以在這里找到.

內建函數

本節介紹的函數在解釋器中總是可用的,他們被包含在 __builtin__ 模塊里.另外每個模塊的 __builtins__ 屬性經常指的是這個模塊(除了當在restricted execution環境下運行時).

_(下劃線)

默認情況下,變數 _ 用於在交互模式下表示最近一個表達式的運行結果.

參閱 sys.displayhook (118)

__import__(name [, globals [, locals [, fromlist]]])

import語句通過調用這個函數來導入模塊. name是包含模塊名字的字元串, globals是一個可選的定義全局名稱空間的字典, locals是定義局部名稱空間的字典, fromlist是from語句目標的列表.例如, import spam語句會調用__import__('spam', globals(), locals(), []) ,而from spam import foo 語句會調用 __import__('spam', globals(), locals(), ['foo']). 如果模塊名在包名字之後(如foo.bar)而且fromlist為空時,就返回對應的模塊對象.如果fromlist不為空,則只會返回最頂級的包.

這個函數是一個低等級的模塊載入介面.它並不執行import語句的所有步驟(通常情況下局部名稱空間並不會隨模塊中包含對象的名稱引用的改變而改變.這個函數可以由用戶來重新定義,這樣為import語句加入新的行為.默認的執行並不會檢查locals參數,而globals只用於決定包的內容(這些參數可以使 __import__()能夠完整地訪問全局和局部名稱空間)

abs(x)
返回x的絕對值

apply(func [, args [, keywords]])
對可調用對象func執行函數調用. args是一個包含固定位置參數的元組, keywords是包含關鍵參數的字典. apply()函數也可以寫做func(*args ,**keywords ).

buffer(sequence [, offset [, size]])
創建一個新的緩沖器對象.緩沖器通常是一個序列(如字元串)的位元組導向序列.緩沖器和字元串在許多地方是相同的,但是它不支持字元串方法,而且也不能使用string模塊的函數.

callable(object)
當object為可調用對象時返回True,否則返回False

chr(i)
將一個0到255的整數轉換為一個字元.

cmp(x,y)
比較x和y. x< y返回負數; x== y返回零; x> y返回整數.它可以比較任意兩個對象並返回結果,即使有時候對象的比較豪無意義(例如比較文件對象).在某些環境下,這樣的比較會引發異常.

coerce(x,y)
將x和y值轉換為同一個數值類型並作為一個元組返回.(第三章,類型和對象)

compile(string, filename, kind)
使用exec()或eval()將字元串編譯為代碼對象. filename is a string containing the name of the file in which the string was defined. kind為'exec'時代表一個表達式的序列, 'eval'代表一個表達式, 'single'代表一個運行語句.

complex(real [, imag])
創建一個復數

delattr(object, attr)
刪除對象的一個屬性, attr是一個字元串.與 del object.attr相同

dir([object])
返回包含屬性名稱的列表.它們來自對象的 __dict__, __methods__,以及 __members__ 屬性.如果沒有傳遞給它參數,則會返回當前的local symbol table

divmod(a,b)
返回一個包含商和余數的元組.對於整數,將返回(a / b , a % b ),對於浮點數,將返回(math.floor(a / b ), a % b )

eval(expr [, globals [, locals]])
計算一個表達式的值. expr是一個字元串或由compile()創建的一個代碼對象. globals和locals為操作定義的全局和局部名稱空間,當省略時,表達式將在調用時的名稱空間計算.

execfile(filename [, globals [, locals]])
運行文件filename中的語句. globals和locals定義了文件運行的全局和局部名稱空間,當省略時,文件將在調用時的名稱空間運行.這個函數不能在一個函數主體里使用,因為它與內嵌范圍不相容.

filter(function, list)
使用func()函數來過濾s中的元素.使func返回值為false的元素被丟棄,其它的存入filter函數返回的列表中.如果function是None,則list中值為False的元素就被刪除.

float(x)
將x轉換為浮點數

getattr(object, name [, default])
返回一個對象的屬性. name是一個字元串. default是一個可選的值,代表當沒有這個屬性時返回的值. 與 object.name 結果相同

globals()
返回一個與全局名稱空間對應的字典

hasattr(object, name)
返回object是否有name屬性,布爾值

hash(object)
返回一個對象的整數哈希值(如果可能).兩個相等對象的哈希值是相同的.模塊沒有定義一個哈希值.

hex(x)
將一個整數或長整數轉換為一個十六進制的字元串

id(object)
返回一個對象的整數id

input([prompt])
相當於eval(raw_input(prompt ))

int(x [, base])
將一個數字或字元串轉換為整數. 可選參數base代表從字元串轉換時的基礎/根據

intern(string)
Checks to see whether string is contained in an internal table of strings. If found, a of the internal string is returned. If not, string is added to the internal table and returned. This function is primarily used to get better performance in operations involving dictionary lookups. Interned strings are never garbage-collected. Not applicable to Unicode strings.

isinstance(object, classobj)
檢查object是否是classobj的事例或子類.也可用於檢查類型

issubclass(class1, class2)
檢查class1是否是class2的子類(派生類)
注意: issubclass(A , A )返回True

len(s)
返回序列s中包含的條目數目

list(s)
返回一個包含序列s中條目的新列表

locals()
返回一個與調用時局部名稱空間相對應的字典

long(x [, base])
將一個數字或字元串轉換為長整數,可選參數base代表從字元串轉換時的基礎/根據

map(function, list, ...)
將序列list中的每個元素傳遞給function函數做參數,函數的返回值組成列表並返回.如果提供給多個列表,則函數應包含有多個參數,每個參數從不同的列表獲得.如果函數為None,則默認為 identity function(?身份函數).如果None映射到多個列表,則返回一個包含元組的列表,元組的每個元素分別來自各個列表.如果有必要,短的列表將使用None來擴充到與最長列表長度相等. map可以使用list comprehensions 來代替.例如map(function , alist ),可以使用[function (x) for x in alist ]來代替
參閱 zip (105).

max(s [, args, ...])
單個參數時,返回序列s中的最大值.多個參數時,返回值最大的參數

min(s [, args, ...])
單個參數時,返回序列s中的最小值.多個參數時,返回值最小的參數

oct(x)
將一個整數或者長整數轉換為八進制字元串

open(filename [, mode [, bufsize]])
打開文件filename並返回一個文件對象(第十章,運行環境). mode代表文件打開的模式. 'r' 表示讀, 'w' 表示寫, 'a' 表示在文件末尾添加內容. 還有一種更新模式,你只要在讀寫模式後增加一個'+'就可以使用這種模式,如'r+' 或 'w+'.當一個文件以更新模式打開,你就可以對這個文件進行讀寫操作.只要在任何讀取操作之前刷新所有的輸出緩沖就不會有問題.如果一個文件以 'w+' 模式打開,它的長度就度截為 0.當mode省略時,將會使用'w'模式.bufsize參數指定了緩沖行為, 0代表無緩沖,1代錶行緩沖,其他正數代表一個大約的位元組緩沖器大小,負數代表使用系統默認緩沖器大小(也是默認行為)

ord(c)
返回單個字元c的整數順序值.普通字元返回[0,255]中的一個值,Unicode字元返回 [0,65535]中的一個值

pow(x, y [, z])
返回x ** y ,如果z存在返回(x ** y ) % z

range([start,] stop [, step])
返回一個從start到stop的整數序列, step代表步進,默認值為1. start默認值為0.負數的step可以創建一個遞減的整數序列
參閱xrange (105)

raw_input([prompt])
從標准輸入(sys.stdin)中讀取一行,並把它作為字元串返回.如果提供了prompt,它將首先列印到標准輸出(sys.stdout).當讀取到一個EOF時,就會引發一個EOFError異常.如果readline模塊被導入,那麼這個函數會使用它來提供更高級的功能

rece(func, seq [, initializer])
函數從一個序列收集信息,然後只返回一個值(例如求和,最大值,等).它首先以序列的前兩個元素調用函數,再將返回值和第三個參數作為參數調用函數,依次執行下去,返回最終的值. func函數有且只有兩個參數.在seq為空時,將使用初始值initializer.

reload(mole)
重新導入一個已經導入的模塊. mole必須是一個已經存在的模塊對象.一般情況下並不鼓勵使用這個函數,除了在調試的時候.
當一個模塊重導入時,定義它的全局名稱空間的字典依然存在.Thus, definitions in the old mole that aren』t part of the newly reloaded mole are retained.模塊可以利用這個來檢查他們是否已經被導入.
重導入一個使用C編寫的模塊通常是不合法的
If any other moles have imported this mole by using the from statement, they』ll continue to use the definitions in the previously imported mole. This problem can be avoided by either reissuing the from statement after a mole has been reloaded or using fully qualified names such as mole.name .
如果有使用以前模塊中類創建的實例,它們將繼續使用以前的模塊

repr(object)
返回一個對象的標准字元串表示.與向後的引號 `object` 相同.大多數情況下,返回的字元串可以使用eval()來再次創建這個對象.

round(x [, n])
Returns the result of rounding the floating-point number x to the closest multiple of 10 to the power minus n . If n is omitted, it defaults to 0. If two multiples are equally close, rounding is done away from 0 (例如, 0.5 is rounded to 1.0 and -0.5 is rounded to -1.0).

setattr(object, name, value)
設置一個對象的屬性. name是一個字元串. 相當於object.name = value .

slice([start,] stop [, step])
返回一個代表指定數列中一個整數的切片對象.切片對象也可以有擴展切片操作語句來產生.(第三章,序列和映射方法)

str(object)
返回表示對象的可列印形式的字元串.與print語句產生的字元串相同.

tuple(s)
從序列s中創建一個元組.如果s已經是一個元組,則返回s

type(object)
返回object的類型,它是一個types模塊中定義type類型
參閱isinstance (102)

unichr(i)
將一個0到65535的整數轉換為一個Unicode字元

unicode(string [, encoding [, errors]])
將string轉換為Unicode字元串. encoding指定了string的數據編碼,它被省略時,將使用sys.getdefaultencoding(). errors指定編碼錯誤處理方式.('strict', 'ignore', 或 'replace' .參閱第三章和第九章中有關Unicode內容)

vars([object])
返回object的 symbol table (通常在object的__dict__屬性).如果沒有給它提供參數,則返回對應當前局部名稱空間的字典.

xrange([start,] stop [, step])
和range函數相似,但返回的是一個XRangeType對象.它生成一個迭代器,就是只有用那個數時才臨時通過計算提供值,而不是全部儲存它們.這樣在處理大的數列時能節省大量的內存.

zip(s1 [, s2 [,..]])
用來將幾個序列組合成一個包含元組的序列,序列中的每個元素t[i ] = (s1[i ], s2[i ], ..., sn[i ]).結果與最短序列的長度相等.

⑷ python py文件中執行另一個py文件

方法一、

import os

os.system("python filename.py")

方法二:

execfile('xx.py'),括弧內為py文件路徑;

註:如果需要傳參數,就用os.system()那種方法;如果還想獲得這個文件的輸出,那就得用os.popen();

(4)pythonfilename函數擴展閱讀:

Python入門命令行怎麼調用.py文件中容易出現的問題

1、如果文件路徑是這樣的:C:Userssd est.py,那麼在命令行狀態下輸入:

C:Userssd> python test.py

2、如果是互動式輸入狀態(>>>←有三個這種折就是互動式狀態),需要輸入:>>> exit()

就會變回命令行狀態。

3、如果文件路徑是:D: est.py ,那麼在命令行狀態下輸入:

C:Userssd> python D: est.py

4、還可以用「cd 文件夾名字」進入新的當年文件夾。

⑸ Python 運行時提示用戶輸入文件名fname和數字n,即顯示出文件fname的前n行

N=int(input('Enteralinenumber:>>'))
Filename=input('Enterafilepath:>>')
file=open(Filename,'r')
lineNum=0
forlineinfile.readlines()[0:N]:
print(line)

file.close()

⑹ python 常用的系統函數有哪些

1.常用內置函數:(不用import就可以直接使用)
help(obj) 在線幫助, obj可是任何類型
callable(obj) 查看一個obj是不是可以像函數一樣調用
repr(obj) 得到obj的表示字元串,可以利用這個字元串eval重建該對象的一個拷貝
eval_r(str) 表示合法的python表達式,返回這個表達式
dir(obj) 查看obj的name space中可見的name
hasattr(obj,name) 查看一個obj的name space中是否有name
getattr(obj,name) 得到一個obj的name space中的一個name
setattr(obj,name,value) 為一個obj的name space中的一個name指向vale這個object
delattr(obj,name) 從obj的name space中刪除一個name
vars(obj) 返回一個object的name space。用dictionary表示
locals() 返回一個局部name space,用dictionary表示
globals() 返回一個全局name space,用dictionary表示
type(obj) 查看一個obj的類型
isinstance(obj,cls) 查看obj是不是cls的instance
issubclass(subcls,supcls) 查看subcls是不是supcls的子類

類型轉換函數
chr(i) 把一個ASCII數值,變成字元
ord(i) 把一個字元或者unicode字元,變成ASCII數值
oct(x) 把整數x變成八進製表示的字元串
hex(x) 把整數x變成十六進製表示的字元串
str(obj) 得到obj的字元串描述
list(seq) 把一個sequence轉換成一個list
tuple(seq) 把一個sequence轉換成一個tuple
dict(),dict(list) 轉換成一個dictionary
int(x) 轉換成一個integer
long(x) 轉換成一個long interger
float(x) 轉換成一個浮點數
complex(x) 轉換成復數
max(...) 求最大值
min(...) 求最小值
用於執行程序的內置函數
complie 如果一段代碼經常要使用,那麼先編譯,再運行會更快。

2.和操作系統相關的調用
系統相關的信息模塊 import sys
sys.argv是一個list,包含所有的命令行參數.
sys.stdout sys.stdin sys.stderr 分別表示標准輸入輸出,錯誤輸出的文件對象.
sys.stdin.readline() 從標准輸入讀一行 sys.stdout.write("a") 屏幕輸出a
sys.exit(exit_code) 退出程序
sys.moles 是一個dictionary,表示系統中所有可用的mole
sys.platform 得到運行的操作系統環境
sys.path 是一個list,指明所有查找mole,package的路徑.

操作系統相關的調用和操作 import os
os.environ 一個dictionary 包含環境變數的映射關系 os.environ["HOME"] 可以得到環境變數HOME的值
os.chdir(dir) 改變當前目錄 os.chdir('d:\\outlook') 注意windows下用到轉義
os.getcwd() 得到當前目錄
os.getegid() 得到有效組id os.getgid() 得到組id
os.getuid() 得到用戶id os.geteuid() 得到有效用戶id
os.setegid os.setegid() os.seteuid() os.setuid()
os.getgruops() 得到用戶組名稱列表
os.getlogin() 得到用戶登錄名稱
os.getenv 得到環境變數
os.putenv 設置環境變數
os.umask 設置umask
os.system(cmd) 利用系統調用,運行cmd命令
操作舉例:
os.mkdir('/tmp/xx') os.system("echo 'hello' > /tmp/xx/a.txt") os.listdir('/tmp/xx')
os.rename('/tmp/xx/a.txt','/tmp/xx/b.txt') os.remove('/tmp/xx/b.txt') os.rmdir('/tmp/xx')
用python編寫一個簡單的shell
#!/usr/bin/python
import os, sys
cmd = sys.stdin.readline()
while cmd:
os.system(cmd)
cmd = sys.stdin.readline()

用os.path編寫平台無關的程序
os.path.abspath("1.txt") == os.path.join(os.getcwd(), "1.txt")
os.path.split(os.getcwd()) 用於分開一個目錄名稱中的目錄部分和文件名稱部分。
os.path.join(os.getcwd(), os.pardir, 'a', 'a.doc') 全成路徑名稱.
os.pardir 表示當前平台下上一級目錄的字元 ..
os.path.getctime("/root/1.txt") 返回1.txt的ctime(創建時間)時間戳
os.path.exists(os.getcwd()) 判斷文件是否存在
os.path.expanser('~/dir') 把~擴展成用戶根目錄
os.path.expandvars('$PATH') 擴展環境變數PATH
os.path.isfile(os.getcwd()) 判斷是否是文件名,1是0否
os.path.isdir('c:\Python26\temp') 判斷是否是目錄,1是0否
os.path.islink('/home/huaying/111.sql') 是否是符號連接 windows下不可用
os.path.ismout(os.getcwd()) 是否是文件系統安裝點 windows下不可用
os.path.samefile(os.getcwd(), '/home/huaying') 看看兩個文件名是不是指的是同一個文件
os.path.walk('/home/huaying', test_fun, "a.c")
遍歷/home/huaying下所有子目錄包括本目錄,對於每個目錄都會調用函數test_fun.
例:在某個目錄中,和他所有的子目錄中查找名稱是a.c的文件或目錄。
def test_fun(filename, dirname, names): //filename即是walk中的a.c dirname是訪問的目錄名稱
if filename in names: //names是一個list,包含dirname目錄下的所有內容
print os.path.join(dirname, filename)
os.path.walk('/home/huaying', test_fun, "a.c")

文件操作
打開文件
f = open("filename", "r") r只讀 w寫 rw讀寫 rb讀二進制 wb寫二進制 w+寫追加
讀寫文件
f.write("a") f.write(str) 寫一字元串 f.writeline() f.readlines() 與下read類同
f.read() 全讀出來 f.read(size) 表示從文件中讀取size個字元
f.readline() 讀一行,到文件結尾,返回空串. f.readlines() 讀取全部,返回一個list. list每個元素表示一行,包含"\n"\
f.tell() 返回當前文件讀取位置
f.seek(off, where) 定位文件讀寫位置. off表示偏移量,正數向文件尾移動,負數表示向開頭移動。
where為0表示從開始算起,1表示從當前位置算,2表示從結尾算.
f.flush() 刷新緩存
關閉文件
f.close()

regular expression 正則表達式 import re
簡單的regexp
p = re.compile("abc") if p.match("abc") : print "match"
上例中首先生成一個pattern(模式),如果和某個字元串匹配,就返回一個match object
除某些特殊字元metacharacter元字元,大多數字元都和自身匹配。
這些特殊字元是 。^ $ * + ? { [ ] \ | ( )
字元集合(用[]表示)
列出字元,如[abc]表示匹配a或b或c,大多數metacharacter在[]中只表示和本身匹配。例:
a = ".^$*+?{\\|()" 大多數metachar在[]中都和本身匹配,但"^[]\"不同
p = re.compile("["+a+"]")
for i in a:
if p.match(i):
print "[%s] is match" %i
else:
print "[%s] is not match" %i
在[]中包含[]本身,表示"["或者"]"匹配.用

表示.
^出現在[]的開頭,表示取反.[^abc]表示除了a,b,c之外的所有字元。^沒有出現在開頭,即於身身匹配。
-可表示範圍.[a-zA-Z]匹配任何一個英文字母。[0-9]匹配任何數字。
\在[]中的妙用。
\d [0-9]
\D [^0-9]
\s [ \t\n\r\f\v]
\S [^ \t\n\r\f\v]
\w [a-zA-Z0-9_]
\W [^a-zA-Z0-9_]
\t 表示和tab匹配, 其他的都和字元串的表示法一致
\x20 表示和十六進制ascii 0x20匹配
有了\,可以在[]中表示任何字元。註:單獨的一個"."如果沒有出現[]中,表示出了換行\n以外的匹配任何字元,類似[^\n].
regexp的重復
{m,n}表示出現m個以上(含m個),n個以下(含n個). 如ab{1,3}c和abc,abbc,abbbc匹配,不會與ac,abbbc匹配。
m是下界,n是上界。m省略表下界是0,n省略,表上界無限大。
*表示{,} +表示{1,} ?表示{0,1}
最大匹配和最小匹配 python都是最大匹配,如果要最小匹配,在*,+,?,{m,n}後面加一個?.
match object的end可以得到匹配的最後一個字元的位置。
re.compile("a*").match('aaaa').end() 4 最大匹配
re.compile("a*?").match('aaaa').end() 0 最小匹配
使用原始字元串
字元串表示方法中用\\表示字元\.大量使用影響可讀性。
解決方法:在字元串前面加一個r表示raw格式。
a = r"\a" print a 結果是\a
a = r"\"a" print a 結果是\"a
使用re模塊
先用re.compile得到一個RegexObject 表示一個regexp
後用pattern的match,search的方法,得到MatchObject
再用match object得到匹配的位置,匹配的字元串等信息
RegxObject常用函數:
>>> re.compile("a").match("abab") 如果abab的開頭和re.compile("a")匹配,得到MatchObject
<_sre.SRE_Match object at 0x81d43c8>
>>> print re.compile("a").match("bbab")
None 註:從str的開頭開始匹配
>>> re.compile("a").search("abab") 在abab中搜索第一個和re_obj匹配的部分
<_sre.SRE_Match object at 0x81d43c8>
>>> print re.compile("a").search("bbab")
<_sre.SRE_Match object at 0x8184e18> 和match()不同,不必從開頭匹配
re_obj.findall(str) 返回str中搜索所有和re_obj匹配的部分.
返回一個tuple,其中元素是匹配的字元串.
MatchObject的常用函數
m.start() 返回起始位置,m.end()返回結束位置(不包含該位置的字元).
m.span() 返回一個tuple表示(m.start(), m.end())
m.pos(), m.endpos(), m.re(), m.string()
m.re().search(m.string(), m.pos(), m.endpos()) 會得到m本身
m.finditer()可以返回一個iterator,用來遍歷所有找到的MatchObject.
for m in re.compile("[ab]").finditer("tatbxaxb"):
print m.span()
高級regexp
| 表示聯合多個regexp. A B兩個regexp,A|B表示和A匹配或者跟B匹配.
^ 表示只匹配一行的開始行首,^只有在開頭才有此特殊意義。
$ 表示只匹配一行的結尾
\A 表示只匹配第一行字元串的開頭 ^匹配每一行的行首
\Z 表示只匹配行一行字元串的結尾 $匹配第一行的行尾
\b 只匹配詞的邊界 例:\binfo\b 只會匹配"info" 不會匹配information
\B 表示匹配非單詞邊界
示例如下:
>>> print re.compile(r"\binfo\b").match("info ") #使用raw格式 \b表示單詞邊界
<_sre.SRE_Match object at 0x817aa98>
>>> print re.compile("\binfo\b").match("info ") #沒有使用raw \b表示退格符號
None
>>> print re.compile("\binfo\b").match("\binfo\b ")
<_sre.SRE_Match object at 0x8174948>
分組(Group) 示例:re.compile("(a(b)c)d").match("abcd").groups() ('abc', 'b')
#!/usr/local/bin/python
import re
x = """
name: Charles
Address: BUPT

name: Ann
Address: BUPT
"""
#p = re.compile(r"^name:(.*)\n^Address:(.*)\n", re.M)
p = re.compile(r"^name:(?P.*)\n^Address:(?P.*)\n", re.M)
for m in p.finditer(x):
print m.span()
print "here is your friends list"
print "%s, %s"%m.groups()
Compile Flag
用re.compile得到RegxObject時,可以有一些flag用來調整RegxObject的詳細特徵.
DOTALL, S 讓.匹配任意字元,包括換行符\n
IGNORECASE, I 忽略大小寫
LOCALES, L 讓\w \W \b \B和當前的locale一致
MULTILINE, M 多行模式,隻影響^和$(參見上例)
VERBOSE, X verbose模式

⑺ 求解一道Python編程

⑻ 請教如何用python下載文件到本地

知道文件的url地址就用urllib模塊的urlretrieve函數。urllib.urlretrieve(url,
filename)filename是要保存到本地的文件名。函數後面還有2個可選參數,要用就看幫助文檔吧。多線下載的話,每一線程要指定下載伺服器上文件的哪一塊。http協議中head里可以指定Range。下面用的是urllib2模塊request
=
urllib2.Request(url)request.add_header("Range",
"bytes=%d-%d"%(1024,
204)
#指定下載文件的范圍opener
=
urllib2.build_opener()data
=
opener.open(request).read()現在data裡面就是文件的1024位元組到2048位元組的內容。

⑼ 怎麼用python批量修改文件名

基本程序

1
引入os模塊(python中操作文件的模塊)。

2
定義修改名稱的函數rename。
在rename函數中定義一個儲存路徑的變數path,並將要修改文件名的文件夾的路徑賦值給該變數。

3
繼續向函數中添加功能代碼

4
最後調用這個rename函數這個腳本就寫完了。執行這個文件,就會將文件夾下所有的文件改成 這里是你要改的文件名.後綴名 這樣的格式,顯然我們一般情況下不是需要這樣的效果的。下面我列出了一些常用的改文件名的方法。

5
列出代碼,便於復制
import os;
def rename():
path="這里替換為你的文件夾的路徑";

filelist=os.listdir(path)#該文件夾下所有的文件(包括文件夾)
for files in filelist:#遍歷所有文件
Olddir=os.path.join(path,files);#原來的文件路徑
if os.path.isdir(Olddir):#如果是文件夾則跳過
continue;
filename=os.path.splitext(files)[0];#文件名
filetype=os.path.splitext(files)[1];#文件擴展名
Newdir=os.path.join(path,"這里是你要改的文件名"+filetype);#新的文件路徑
os.rename(Olddir,Newdir);#重命名
rename();
END
添加改名規律

1
(1).序號依次遞增型
import os;
def rename():
count=0;
path='C:\\Users\\admin\\Desktop\\test';

filelist=os.listdir(path)#該文件夾下所有的文件(包括文件夾)
for files in filelist:#遍歷所有文件
Olddir=os.path.join(path,files);#原來的文件路徑
if os.path.isdir(Olddir):#如果是文件夾則跳過
continue;
filename=os.path.splitext(files)[0];#文件名
filetype=os.path.splitext(files)[1];#文件擴展名
Newdir=os.path.join(path,str(count)+filetype);#新的文件路徑
os.rename(Olddir,Newdir);#重命名
count+=1;

rename();

2
(2).批量取分隔符前面/後面的名稱
import os;
def rename():
path='C:\\Users\\admin\\Desktop\\test';

filelist=os.listdir(path)#該文件夾下所有的文件(包括文件夾)
for files in filelist:#遍歷所有文件
Olddir=os.path.join(path,files);#原來的文件路徑
if os.path.isdir(Olddir):#如果是文件夾則跳過
continue;
filename=os.path.splitext(files)[0];#文件名
filetype=os.path.splitext(files)[1];#文件擴展名

if filename.find('---')>=0:#如果文件名中含有---
Newdir=os.path.join(direc,filename.split('---')[0]+filetype);
#取---前面的字元,若需要取後面的字元則使用filename.split('---')[1]
if not os.path.isfile(Newdir):
os.rename(Olddir,Newdir);
rename();

閱讀全文

與pythonfilename函數相關的資料

熱點內容
卸載聯想app哪個好 瀏覽:716
php文字轉圖片 瀏覽:326
豆客後台怎麼加密碼 瀏覽:572
jpg轉換pdf破解版 瀏覽:976
php基礎書籍推薦 瀏覽:773
伺服器與外網不通如何驗證 瀏覽:349
電子版是不是就是文件夾 瀏覽:48
游戲屬性文件加密 瀏覽:460
如何讓安卓手機桌面圖標下移 瀏覽:526
ubuntuphp5環境搭建 瀏覽:99
賭癮解壓視頻 瀏覽:917
晉城移動dns伺服器地址 瀏覽:294
php開源文庫系統 瀏覽:134
android記事本源碼 瀏覽:405
安卓11小游戲怎麼玩法 瀏覽:188
gif有損壓縮 瀏覽:936
windows下安裝linux命令操作 瀏覽:842
米家app怎麼設置進門亮燈 瀏覽:652
任我行伺服器為什麼會影響截圖 瀏覽:296
安卓留言板怎麼刪除 瀏覽:18