2016-09-25 9 views
-1

は私が最終的な名前ではなく.apk延長の.json拡張子を持つようにしたいapkName(例えばa.apkまたはb.apk、など)に基づいて、新しい名前で新しい場所/home/dina/bへのパス/home/dina/Aに位置malicious.txtと呼ばれるファイルを移動し、名前を変更したいですPythonでファイル名と拡張子を変更するには?例えば ​​-

import os 
os.rename("malicious.txt",apkName) 

をしかし、それは他のファイルを表示させずにmalicious.txt削除:a.jsonb.json

私が試してみました。

+0

スクリプトを実行する前後のファイルの例(my/path/file1.txt [enter] my/path/file2.txtなど)を書くことができれば、はるかに優れています。そうすれば、あなたは何をしたいのか、あなたのスクリプトに何が間違っているのかが明確に分かります。 – fronthem

答えて

0

あなたは、名前の変更の最初の時間の後に(一度だけあなたのファイル名を変更することができ、以下の「.json」の拡張子を持つapkfileの名前である「malicious.txt」名前を変更する必要があり

import os 
apkName = "a.apk" 
apkFullpath = os.path.join(os.path.sep,"home","dina","a",apkName) 
jsonName = os.path.splitext(apkName)[0]+".json" 
jsonFullpath = os.path.join(os.path.sep,"home","dina","b",jsonName) 
os.rename("malicious.txt",jsonName) 

注意 os.path.joinとos.path.sepについて詳細は古い名前)

にアクセスすることはできません

https://docs.python.org/2/library/os.path.html

os.path.join(パス、*パス)

インテリジェント一つ以上のパスコンポーネントに参加。戻り値は、最後の部分が空の場合にのみ結果が区切りで終わることを意味する、最後の部分を除く各空でない部分の後に、pathとpathの任意のメンバーを正確に1つのディレクトリ区切り文字(os.sep)で連結したものです。コンポーネントが絶対パスの場合、以前のコンポーネントはすべて破棄され、絶対パスコンポーネントから継続します。

Windowsでは、絶対パスコンポーネント(例:r '\ foo')に遭遇した場合、ドライブ文字はリセットされません。コンポーネントにドライブ文字が含まれている場合、以前のコンポーネントはすべて破棄され、ドライブ文字はリセットされます。 os.path.join( "c:"、 "foo")は、ドライブCの現在のディレクトリからの相対パスを表します(c:\ fooではなくc:foo)。 。

+0

apknameはすでにa.apkと呼ばれていましたmalicious.txtをa.jsonに変更したいので、(a)という拡張子をつけずにapknameを書き、次に新しい拡張子として.jsonを追加する方法がわかりません。 – dina

+0

@ディナ - 私の更新答えを見てください。 jsonNameはapkName( "a")の最初の部分を取り、 ".json"拡張子を追加します。 "a.apk"は "a.json" – Yaron

関連する問題