2017-02-14 10 views
0

私はこのようにレイアウトされたファイルをいくつか持っています: './Example 3/ex3A.txt'Python Globモジュールの動作方法クロスプラットフォーム(os.pathの問題)?

このスクリプトは基本的に私が渡す基準に一致するランダムなテキストファイルの内容をリストする必要がありますケース、数字)。実際のスクリプトはもっと多くのことをしますが、これは私が問題を抱えているセクションです。

これは私のLinuxマシンでは完全に動作しますが、私は同僚のWindows PCでこれを行う方法を理解できません。私はos.join.pathなどの様々な繰り返しを試みましたが、これをクロスプラットフォームで動作させることはできません。ここで

は、Linux上で完璧に動作するスクリプトの株式バージョンです:

import os 
import sys 
import glob 
import random 

script, dirnum = sys.argv 

#Create list of filenames 
filenames = glob.glob('./*%s/*%s*.txt' % (dirnum, dirnum)) 

#Open Random file from list 
select_file = open(random.choice(filenames)) 
file_content = selct_file.read() 
print(file_content) 

答えて

0

あなたはglobで使用するプラットフォームに依存しないファイルパスを作成するためにos.path.joinを使用することができるはずです。

search_path = os.path.join('*%s*' % dirnum, '*%s*.txt' % dirnum) 
filenames = glob.glob(search_path) 
関連する問題